
Enviado em 09/07/2014 - 14:49h
void Ordenacao(){
// vetor de strings
char** nomes;
// de strings a serem comparadas
int qtd;
// contadores
int i,j;
struct pessoa umapessoa;
char* temp = (char*) malloc(40*sizeof(char));
nomes = (char**) malloc(qtd*sizeof(char*));
// posiciona o arquivo no inicio
fseek(arquivo,0,SEEK_SET);
i = 0;
qtd=0;
j = 0;
do{
// le de agenda.dat
fread(&umapessoa, sizeof(struct pessoa), 1, arquivo);
nomes[i] = (char*) malloc(40*sizeof(char));
nomes[i] = umapessoa.nome;
printf ("%d", qtd);
qtd++;
i++;
} while(!feof(arquivo));
// Rotina de ordenação
for(i = 1; i < qtd; i++) {
for (j = 0; j < qtd ; j++) {
if(strcmp(nomes[j],nomes[j+1]) > 0){
strcpy(temp,nomes[j]);
strcpy(nomes[j],nomes[j+1]);
strcpy(nomes[j+1],temp);
}
}
}
free(temp);
printf("Imprimindo os nomes ordenados\n");
for(i = 0; i < (qtd-1);++i) {
printf("%s\n",nomes[i]);
}
// liberando a memória alocada dinâmicamente
for(i = 0; i < qtd;++i) {
free(nomes[i]);
}
// liberando a memória alocada dinâmicamente
free(nomes);
} File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Usando alias no Terminal para comandos longos
Simplificando o manual do terminal no Ubuntu 26.04
Bloqueio da instalação e reinstalação do Snap (snapd) no Ubuntu
Continuando meus tópicos anteriores (11)
GLPI Cards de filtros de pesquisa (2)









