Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: celest275. en 13 de Marzo 2017, 04:09
-
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.
#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
-
Buenas, este código serviría para contar la frecuencia de aparición de letras:
#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