Contar letras de una cadena en C
Hola Experto:
Me podrías ayudar con el siguiente código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Sin funciones de libreria */
int main() {
int cont=0,i;
short frecuencias[26];
char cadena[100];
printf("\nIngrese la cadena: ");
gets(cadena);
i = 0;
while (cadena[cont++] != '\0') ;
printf("\n%d caracteres ",cont);
for(cont = 0; cadena[cont] != '\0' && cadena[cont] != ' '; cont++){
if (((cadena[cont] >='A') && (cadena[cont] < 'Z')) ||
((cadena[cont] >='a') && (cadena[cont] < 'z')))
frecuencias[cadena[cont]-65]++;
}
for(i=65; i <= 90; i++)
printf("\nLetra %c: %d",i,frecuencias);
printf("\n");
system("\npause");
return 0;
}
Tengo que contar las ocurrencias de cada letra del alfabeto y mostrarlas, pero al guardalas en un arreglo, el código que he colocado no funciona. Me puedes dar la solución a este problema. Mi dirección de email es
Desde ya muchas gracias por tu atención.
Saludos.
Me podrías ayudar con el siguiente código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Sin funciones de libreria */
int main() {
int cont=0,i;
short frecuencias[26];
char cadena[100];
printf("\nIngrese la cadena: ");
gets(cadena);
i = 0;
while (cadena[cont++] != '\0') ;
printf("\n%d caracteres ",cont);
for(cont = 0; cadena[cont] != '\0' && cadena[cont] != ' '; cont++){
if (((cadena[cont] >='A') && (cadena[cont] < 'Z')) ||
((cadena[cont] >='a') && (cadena[cont] < 'z')))
frecuencias[cadena[cont]-65]++;
}
for(i=65; i <= 90; i++)
printf("\nLetra %c: %d",i,frecuencias);
printf("\n");
system("\npause");
return 0;
}
Tengo que contar las ocurrencias de cada letra del alfabeto y mostrarlas, pero al guardalas en un arreglo, el código que he colocado no funciona. Me puedes dar la solución a este problema. Mi dirección de email es
Desde ya muchas gracias por tu atención.
Saludos.
Respuesta de bebware
1