Autor Tema: Cuenta palabras y letras en C (lenguajeC) determinar número de vocales en cadena  (Leído 3602 veces)

celest275.

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola necesito:
Escribir un programa que solicite al usuario ingresar una cadena larga formada por varias palabras, el programa debe determinar lo siguiente:

1-numero de palabras en la cadena
2-cuantas vocales tiene la cadena
3-la letra que aparece en mas palabras (letra y en cuantas palabras)
4-la letra que mas aparece en toda la frase (letra y cuantas veces)

hasta el  momento he logrado los primeros 2 incisos, pero no se como hacer el 3 ni el 4, se los agradecería mucho si me ayudaran un poco.

Código: [Seleccionar]
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int contar_vocales(char *);
 
int main(){
char cad[500],*p;
int longi,i,x,b,R,V,longinP,len;
 
printf("Ingrese un texto: ");
gets(cad);
longi = strlen(cad);
 
//-------------------------------Contador palabras------------------------------
b=0;
for(x=0;x<longi;x++){ //rrecorre la longitud de la cadena
 if(cad[x]==' ' && x!=499 && cad[x+1]!= ' '){
  b++;
  }
}
printf("\nCantidad de Palabras: %d",b+1);
//--------------------------------cantidad------------------------------------
 
printf("\nCantidad de Vocales: %d",contar_vocales(cad));
V = contar_vocales(cad);
printf("\nCantidad de caracteres: %d",longi-b);
longinP= longi-b;
 
 
 
 
 
    getch();
}//Main -CuerpoPrincipal-
//--------------------------------Funcion---------------------------------------
 
int contar_vocales(char *cad){
 
int cont=0;
char *aux=cad;
 
while(*aux){
   if(*aux=='a'||*aux=='e'||*aux=='i'||*aux=='o'||*aux=='u')
     cont++;
       aux++;
   }//funcion
 
return cont;
 
}//contar_vocales
 
« Última modificación: 20 de Mayo 2017, 22:13 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas, este código serviría para contar la frecuencia de aparición de letras:

Código: [Seleccionar]
#include <stdio.h>
#include <string.h>
 
void find_frequency(char [], int []);
 
int main()
{
   char string[100];
   int c, count[26] = {0};
 
   printf("Input a string\n");
   gets(string);
 
   find_frequency(string, count);
 
   printf("Character Count\n");
 
   for (c = 0 ; c < 26 ; c++)
      printf("%c \t  %d\n", c + 'a', count[c]);
 
   return 0;
}
 
void find_frequency(char s[], int count[]) {
   int c = 0;
 
   while (s[c] != '\0') {
      if (s[c] >= 'a' && s[c] <= 'z' )
         count[s[c]-'a']++;
      c++;
   }
}

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".