C/Visual C - problemas con un ejercicio

 
Vista:

problemas con un ejercicio

Publicado por robertito (1 intervención) el 30/06/2009 18:33:43
que l soy nuevo en esto del c... estoy tratando de hacer un ejercicio pero no me sale...
el ejercico dice que teng que ingresar una frase de hasta 20 caracteres y me tiene que devolver cuantas letras "a" hay y cuantas vocales distintas de "a" hay... queria saber si alguien me ayuda!

#include <stdio.h>
#include <conio.h>
#include <string.h>

main()
{
char texto [21];
int a,otra,i,j;
clrscr();
printf("ingrese un texto de hasta 20 caracteres. ");
gets(texto);
printf(" ");
a=otra=i=0;
while (texto[i]!=' ')
{
if (texto[i]=='a')
{
a+=1;
}
else
{
if((texto[i]=='e')||(texto[i]=='i')||(texto[i]=='o')||(texto[i]=='u'))
{
otra+=1;
}
}
i++;
}
printf("Hay %i letras 'a' ",a);
printf("hay %i vocales distintas de 'a'",otra);
printf("El texto tiene %i caracteres", (i-1));
getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas con un ejercicio

Publicado por Joriel (19 intervenciones) el 03/07/2009 07:53:35
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <windows.h>
main()
{
char texto [21];
int a,otra,i,j;
system("color 0E");//Es para dar color a la pantalla
system("cls");//Utiliza esta funcion que es mejor para limpiar pantalla
printf("ingrese un texto de hasta 20 caracteres. ");
gets(texto);
printf(" ");
a=otra=i=0;
while (texto[i]!='')//Lo que acabo de poner aqui es el fin de cadena que es la ultima
{ //posicion del arreglo texto[20] que es igual a el fin de cadena ( )
if (texto[i]=='a') //La cadena comienza con letras y al final esta el fin de cadena
a+=1; //entonces lo que tienes que preguntar en el while es por el fin de
else //cadena no por el espacio......
{
if(texto[i]=='e' || texto[i]=='i' || texto[i]=='o' || (texto[i]=='u')
otra+=1;
}
i++;
}
printf("Hay %d letras 'a' ",a);
printf("hay %d vocales distintas de 'a'",otra);
printf("El texto tiene %d caracteres", strlen(texto));
Sleep(4000);Es para detener la pantalla
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas con un ejercicio

Publicado por Joriel (19 intervenciones) el 03/07/2009 08:06:00
Este codigo ya lo hice funcionar miralo y pruebalo
ahi esta resuelto tu problema

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void main(void)
{
char texto [21];
int a,otra,i,j;
system("color 0E");//Es para dar color a la pantalla
system("cls");//Utiliza esta funcion que es mejor para limpiar pantalla
printf("ingrese un texto de hasta 20 caracteres: ");
gets(texto);
printf(" ");
a=otra=i=0;
while (texto[i]!='')//Lo que acabo de poner aqui es el fin de cadena que es la ultima
{ //posicion del arreglo texto[20] que es igual a el fin de cadena ( )
if (texto[i]=='a') //La cadena comienza con letras y al final esta el fin de cadena
a+=1; //entonces lo que tienes que preguntar en el while es por el fin de
else //cadena no por el espacio......
{
if(texto[i]=='e' || texto[i]=='i' || texto[i]=='o' || texto[i]=='u')
otra+=1;
}
i++;
}
printf("Hay %d letras 'a' ",a);
printf("hay %d vocales distintas de 'a' ",otra);
printf("El texto tiene %d caracteres ", i);
system("PAUSE");//Funcion que muestra en pantalla Presione una tecla para continuar...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar