int main(){
  int num,num2, opcao,mod,div;
  Lista l,l2,l3;

  inicLista(&l);
  inicLista(&l2);  
  inicLista(&l3);

	printf("Entre com o primeiro numero: ");
	scanf("%d", &num);
	while(num > 0)
	{
		mod = num % 10000;
		num = num / 10000;
		//printf("Num: %d\n",num);
	 	insereFim(&l, mod);
	}
	///exibe(&l);
	printf("\nEntre com o segundo numero: ");
    scanf("%d", &num2);
	while(num2 > 0)
	{
		mod = num2 % 10000;
		num2 = num2 / 10000;
		//printf("Num2: %d\n",num2);
	  	insereFim(&l2, mod);
	}
	soma(&l,&l2,&l3);
	//exibe(&l2);
     
    printf("\n");
    printf("Lista 1: \n");
    exibe(&l);
    printf("\n\n");  
   
    printf("Lista 2: \n");  
	exibe(&l2);
	printf("\n\n");    
	
	printf("Soma das duas Listas: \n");
	exibe(&l3);
 	printf("\n\n"); 
      
  libera(&l);
  libera(&l2);
  libera(&l3);
  return 0;
}
Пример #2
0
int main() {

	int N;				// numero de pessoas na fila
	Lista l;			// lista - usada para a fila dinamica
	int i;				// contador
	int pessoa;			// idade da pessoa que entrou na fila
	int a;				// quantidade de pessoas que foi atendida
	int tam;			// tamanho da fila

	scanf("%d", &N);
	while (N > 0) {
		inicLista(&l);
		
		// insere as pessoas na fila		
		for (i = 0; i < N; i++) {
			scanf("%d", &pessoa);
			insereLista(&l, pessoa);
		}

		// remove da fila as pessoas que ja foram atendidas
		scanf("%d", &a);
		for (i = 0; i < a; i++) {
			int e;
			removeInicio(&l, &e);
			printf("%d ", e);
		}
		printf("\n");

		scanf("%d", &N);
		
		libera(&l);
	}

	return 0;
}
int main()
{
	FILE *f;
	Dados l;

	char nome[30];
	char rua[40];
	int numero;
	float telefone; 
	char cidade[20];
	char estado[10];

	inicLista(&l);

	f = fopen("arq.in", "r");

	if (f == NULL)
	{
		perror("Erro ao abrir o arquivo");
		return 1;
	}

	while(fscanf(f, "%[^\n]\n%[^\n]\n%d\n%f\n%[^\n]\n%[^\n]\n",nome,rua, &numero, &telefone,cidade, estado) != EOF)
	{	
		insereInicio(&l,nome,rua, numero, telefone,cidade, estado);
	}
	
	exibe(&l);

	fclose(f);

	return 0;
}
Пример #4
0
int main(){
  int num, opcao;
  Lista l;

  inicLista(&l);
  
  opcao = 1;  
  while(opcao <= 10 && opcao > 0){
    printf("\n 1 - insere um numero no inicio da lista");
    printf("\n 2 - insere um numero no fim da lista");
    printf("\n 3 - insere um numero de maneira ordenada");
    printf("\n 4 - verifica se a lista esta ordenada");
    printf("\n 5 - ordena a lista");
    printf("\n 6 - remove o elemento que esta no inicio da lista");
    printf("\n 7 - remove o elemento que esta no fim da lista");
    printf("\n 8 - remove um valor determinado");
    printf("\n 9 - inverte");
    printf("\n 10 - exibe a lista");
    printf("\n qualquer outro numero para sair");
    printf("\n\nEntre com uma das opcoes acima: ");
    scanf("%d", &opcao);
    
    switch (opcao){
    case 1:
      printf("\n\nEntre com o numero a ser inserido: ");
      scanf("%d", &num);
      insereInicio(&l, num);
      break;      
    case 2:
      printf("\n\nEntre com o numero a ser inserido: ");
      scanf("%d", &num);
      insereFim(&l, num);
      break;
    case 3:
      printf("\n\nEntre com o numero a ser inserido: ");
      scanf("%d", &num);
      insereOrdenado(&l, num);
      break;
    case 4: 
      if (ordenada(&l))
	printf("\nLista ordenada\n");
      else
	printf("\nLista desordenada\n");
      break;
    case 5: 
      ordena(&l);      
      break;
    case 6:
      if (removeInicio(&l, &num))
	printf("\nNumero removido: %d\n", num);
      else
	printf("\nLista vazia");
      break;
    case 7:
      if (removeFim(&l, &num))
	printf("\nNumero removido: %d\n", num);
      else
	printf("\nLista vazia");
      break;
    case 8:
      printf("\n\nEntre com o numero a ser removido: ");
      scanf("%d", &num);
      if (!removeValor(&l, num))
	printf("Numero nao encontrado");
      break;      
    case 9: 
      inverte(&l);
      break;            
    case 10: exibe(&l); break;
    }
    
    exibe(&l);
    printf("\n\n");    

  }    
    //    libera(&l);
  return 0;
}
Пример #5
0
Lista suspended(Store store, int id)
/*---------------------------------------------------------------
  DESCRIPCION: Implementacion de la funcion suspended, la cual
               retorna una lista de las posiciones dentro de la 
          variable global indexicals de los indexical's
          que dependen de la variable representada por id.
          
        
  PARAMETROS: id es el identificador de la variable.
              store : Es el store del Sistema de Restricciones.
  USA:
  RETORNA: Lista con las posiciones de los indexical's que 
           dependen de la varible identificada por id.
  PRE: 
  POS: List = < PosIndx1/id, PosIndx2/id, ...> || List = NULL 
  NOTAS:
  ---------------------------------------------------------------*/
{
  int v_prune_type;
  Lista res;
  Lista tempunion1, tempunion2, tempunion3;
  FDVariable variable;
  variable=getVariableStore(store, id);
  v_prune_type=getPruneTypeFDVariable(variable);
  switch(v_prune_type){
  case PMIN:
    tempunion1 = unionLista(getChainMinFDVariable(variable), getChainMinMaxFDVariable(variable));
    tempunion2 = unionLista(tempunion1, getChainDomFDVariable(variable));
    res=unionLista(tempunion2,getChainValFDVariable(variable));
    destruirLista(tempunion1);
    destruirLista(tempunion2);
    break;

  case PMAX:
    tempunion1 = unionLista(getChainMaxFDVariable(variable), getChainMinMaxFDVariable(variable));
    tempunion2 = unionLista(tempunion1,getChainDomFDVariable(variable));
    res=unionLista(tempunion2,getChainValFDVariable(variable));
    destruirLista(tempunion1);
    destruirLista(tempunion2);
    break;

  case PDOM:
    res=unionLista(getChainDomFDVariable(variable),getChainValFDVariable(variable)); 
    break;

  case PMINMAX:
    tempunion1 = unionLista( getChainMaxFDVariable(variable), getChainMinMaxFDVariable(variable));
    tempunion2 = unionLista(tempunion1,getChainDomFDVariable(variable));
    tempunion3 = unionLista(tempunion2,getChainValFDVariable(variable));
    res=unionLista(tempunion3,getChainMinFDVariable(variable));
    destruirLista(tempunion1);
    destruirLista(tempunion2);
    destruirLista(tempunion3);
    break;

  default:
    res=inicLista(); 
    break;
  }
  return res;
}
int main(){
  No_Lista ls;
  No_Lista *ld;
  int i;


  inicLista(&ls);
  inicListaD(&ld);

  insereInicio(&ls, 7);
  insereInicio(&ls, 4);
  insereInicio(&ls, 5);
  insereInicio(&ls, 3);
  insereInicio(&ls, 6);
  exibe(&ls);
  printf("\n");
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);
  exibe(&ls);
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);
  exibe(&ls);
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);
  exibe(&ls);
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);
  exibe(&ls);
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);
  exibe(&ls);
  removeMaior1(&ls, &i);
  printf("\n%d\n", i);


  printf("\n\n");
  insereInicioD(&ld, 7);
  insereInicioD(&ld, 4);
  insereInicioD(&ld, 5);
  insereInicioD(&ld, 3);
  insereInicioD(&ld, 6);
  exibe(ld);
  printf("\n");
  imprimeRec(ld);
  printf("\n");
  imprimeIt(ld);
  printf("\n");

  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  exibe(ld);
  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  exibe(ld);
  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  exibe(ld);
  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  exibe(ld);
  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  exibe(ld);
  removeMaior3(&ld, &i);
  printf("\n%d\n", i);
  //exibe(ld);
  printf("\n\n");

  return 0;
}