estoy atascado en la parte de ordenar, logré ordenar la cantidad de caracteres pero los caracteres que se imprimen son de otro mundo xD. Miren:
Código:
int main()
{
char texto[128], caracteres[256] = {0};
int i, h, mayor, elmayor;
printf("Ingrese una frase o texto: ");
gets(texto);
for(i = 0; texto[i] != '\0'; i++){
caracteres[(int)texto[i]]++;}
//Para letras
for(i = 0; i < 128; i++){
for(h=i+1; h < 128; h++){
if(texto[i]>= texto[h]){
elmayor= texto[i];
texto[i]=texto[h];
texto[h]=elmayor;}
}
}
//para numeros
for(i = 0; i<256; i++){
for(h =i+1; h <256; h++){
if(caracteres[i]>= caracteres[h]){
mayor= caracteres[i];
caracteres[i]=caracteres[h];
caracteres[h]=mayor;}
}
}
for(i = 0; i < 256; i++){
if(caracteres[i] > 0){
printf("\n%c = %d", i, caracteres[i]);}}
getchar();
getchar();
return 0;
}
{
char texto[128], caracteres[256] = {0};
int i, h, mayor, elmayor;
printf("Ingrese una frase o texto: ");
gets(texto);
for(i = 0; texto[i] != '\0'; i++){
caracteres[(int)texto[i]]++;}
//Para letras
for(i = 0; i < 128; i++){
for(h=i+1; h < 128; h++){
if(texto[i]>= texto[h]){
elmayor= texto[i];
texto[i]=texto[h];
texto[h]=elmayor;}
}
}
//para numeros
for(i = 0; i<256; i++){
for(h =i+1; h <256; h++){
if(caracteres[i]>= caracteres[h]){
mayor= caracteres[i];
caracteres[i]=caracteres[h];
caracteres[h]=mayor;}
}
}
for(i = 0; i < 256; i++){
if(caracteres[i] > 0){
printf("\n%c = %d", i, caracteres[i]);}}
getchar();
getchar();
return 0;
}
alguien sabe como podria solucionarlo y que quiere ayudarme con esa parte? gracias.