Cita:
Iniciado por juan1990
hola muy buenos dias a todos y gracias de antemano:
mi problema es el sgte tengo que realizar un programa que me cuente el tamaño de una frase, identifique las vocales y las palabras que terminan en "s" he avanzado pero hay unos problemas donde esta es error gracias este es el codigo:
|
Hola amigo juan!!.. ok.. creo que tu problema era simplemente que te faltaban dos librerias (conio y string.. para poder usar strlen y getch) y eso daban dos errores de compilacion.. facil de detectar.. ahora en el codigo.. simplemente no te leia las palabras porque usas un vector[m] que de verdad no se para que es jajajaja.. simplemente en esa linea debes sustituirlo por "if (frase[i-1]=='s')".. y ahi cuentas.. lo probe y funciona bien.. el recorrido por palabra y letra esta bien.. de todas formas te coloco el codigo corregido para que puedas ver los cambios..
#include <stdio.h>
#include <stdlib.h>
#include <string.h> //NUEVO
#include <conio.h> //NUEVO
int main(int argc, char *argv[])
{
char frase[200];
char vector[200];
int num_letras, i,m=0,k=0, j=0, h , cont_espacio=0,op, cont_a=0, cont_e=0, cont_i=0, cont_o=0, cont_u=0, cont_vocal=0, cont_palabra=1,palabras_s=0;
do
{
//getch();
system("CLS");
printf("digite la frase \n");
gets(frase);
num_letras= strlen(frase);
for( i=0; i<=num_letras; i++)
{
if (frase[i]==' ')
{
cont_espacio++;
j=(i - k - 1);
vector[m]=(vector[i]-1);
//if(vector[m]=='s')
if (frase[i-1]=='s') //NUEVO
palabras_s++;
printf("la frase tiene %d palabras terminadas en S\n",palabras_s);
getch();
//system("CLS");
if(cont_espacio !=1)
{
h = j;
printf("LA PALABRA NUMERO [%d] TIENE ", cont_espacio);
printf(" %d LETRAS\n",j);
k = k + h + 1;
getch();
//system ("CLS");
}
else
{
k = i ;
printf("LA PALABRA NUMERO [%d] TIENE ", cont_espacio);
printf(" %d LETRAS\n",k);
getch();
//system ("CLS");
}
}
if (frase[i]=='a')
cont_a++;
if (frase[i]=='e')
cont_e++;
if (frase[i]=='i')
cont_i++;
if (frase[i]=='o')
cont_o++;
if (frase[i]=='u')
cont_u++;
}
cont_vocal=cont_a+cont_e+cont_i+cont_o+cont_u;
printf("la frase tiene un total de %d vocales `a´\n",cont_a);
getch();
//system ("CLS");
printf("la frase tiene un total de %d vocales `e´\n",cont_e);
getch();
//system ("CLS");
printf("la frase tiene un total de %d vocales `i´\n",cont_i);
getch();
//system ("CLS");
printf("la frase tiene un total de %d vocales `o´\n",cont_o);
getch();
//system ("CLS");
printf("la frase tiene un total de %d vocales `u´\n",cont_u);
getch();
//system ("CLS");
printf("la frase tiene un total de %d vocales\n",cont_vocal);
getch();
//system ("CLS");
printf("si desea continuar validando frases digite [1] de lo contrario para salir del programa digite [0]\n",cont_vocal);
scanf ("%d",&op);
}
while (op!=0);
system("PAUSE");
return 0;
}
Por cierto.. cuando escribas codigo.. usa una identacion adecuada (me di cuenta que al postyearlo pierde la identacion..) y eso hara de tu codigo (ademas de algunos comentarios adicionales) mas legible..
Espero haber sidod e ayuda..
Saludos.
XMan
