Estou tentando escrever um programa que lê varios nomes e imprimi os nomes organizados em ordem crescente de caracteres.
Pesquisei sobre a função qsort( ) para organizar os nomes, mas não estou conseguindo relacionar ela com a função strlen ( ) que retorna um int de numeros de caracteres.
Não estou conseguindo fazer a função me retornar os nomes organizados.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *B)
{
return(strlen(*(char**)a) - strlen(*(char**)B));
}
main ( )
{
int i=80;
char nome [i ][30];
int tam[ i ];
for (i=1; i<=3; i++)
{
printf ("Digite Nome completo: ");
gets (nome[ i ]);
fflush (stdin);
}
printf("\nOs nomes Listados em ordem crescente de caracteres estao logo abaixo: \n\n\n");
for (i=1; i<=3; i++)
{
qsort(nome, i, sizeof(char), compare);
printf("%s \n\n", nome[ i ]);
}
system("pause");
}
Pergunta
vdf
Estou tentando escrever um programa que lê varios nomes e imprimi os nomes organizados em ordem crescente de caracteres.
Pesquisei sobre a função qsort( ) para organizar os nomes, mas não estou conseguindo relacionar ela com a função strlen ( ) que retorna um int de numeros de caracteres.
Não estou conseguindo fazer a função me retornar os nomes organizados.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.