Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #define MAX_ELEM 100
- //Definição do logaritmo de 2
- //int Log2(int x){
- //int a;
- //a= ((log(x)/log(2)));
- //}
- //Declaração de estruturas
- typedef struct{
- int dia, mes, ano;
- } tipoData;
- typedef struct{
- int numero;
- char nome[20];
- char apelido[20];
- tipoData dataNascimento;
- } tipoCartao;
- typedef struct{
- int numeroAssociados;
- tipoCartao associados[MAX_ELEM];
- }TipoAssociacao;
- //vetor associaçao
- tipoData dataNascimento[MAX_ELEM];
- TipoAssociacao numeros[MAX_ELEM];
- tipoCartao associados[MAX_ELEM];
- // Declaração de Variaveis!
- FILE*leitura;
- FILE*escrita;
- int i, j, aux;
- int menor;
- int escolha;
- main (void){
- leitura = fopen("associados.txt", "r");
- escrita = fopen("ordenados.txt", "a");
- printf("Escolha o metodo de ordenacao que deseja usar:\n1 para ordenacao por selecao e 2 para ordenacao por bolha\n");
- scanf("%d", &escolha);
- while (fscanf(leitura, "%s %s %d %d %d %d",associados[i].nome, associados[i].apelido, &numeros[i].numeroAssociados,&dataNascimento[i].dia, &dataNascimento[i].mes,&dataNascimento[i].ano)!= EOF){
- fscanf(leitura, "%s %s %d %d %d %d",associados[i].nome, associados[i].apelido, &numeros[i].numeroAssociados,&dataNascimento[i].dia, &dataNascimento[i].mes,&dataNascimento[i].ano);
- }
- if(escolha == 1){
- for (i= 1; i< MAX_ELEM-1; i++)
- {
- menor = i;
- for (j = i+1; j < MAX_ELEM; j++)
- if(numeros[j].numeroAssociados< numeros[menor].numeroAssociados){
- menor= j;
- aux = numeros[i].numeroAssociados;
- numeros[i].numeroAssociados = numeros[menor].numeroAssociados;
- numeros[menor].numeroAssociados = aux;
- }
- for (i= 0; i< MAX_ELEM; i++)
- fprintf(escrita, "%s %s %d %d %d %d",associados[i].nome, associados[i].apelido, numeros[i].numeroAssociados,dataNascimento[i].dia, dataNascimento[i].mes,dataNascimento[i].ano);
- printf("O numero de iteracoes necessario para fazer a ordenacao foram: %d", MAX_ELEM - 1);
- }
- }
- // numero de iteraçoes: Tamanho -1 IMPORTANTE
- if (escolha == 2){
- //i final menos inicial = numero iteracoes!!!!!!!!!!
- //printf("O numero de iteracoes necessarias para esta ordenacao e de: %d",Log2(MAX_ELEM));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement