| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 01/11/2004 4:18 am | | | Título: Contar las vocales de una cadena |
| | Hola! quiero hacer un programa q m cuente cada uno de las vocales cuantas veces sale en una cadena, xo he hecho un codigo q me cuenta todas las vocales globalmente y yo quiero q m diga cada una cuantas veces aparece. alguien me lo puede arreglar.Gracias! |
|
| Volver arriba | |
 |
Demidam
Registrado: 07 Ago 2004 Mensajes: 59
| Publicado: 01/11/2004 4:31 am | | | Título: |
| Podrias poner lo q llevas de algoritmo?
Salu2 |
|
| Volver arriba | |
 |
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 01/11/2004 4:33 am | | | Título: |
| Perdon se me abia olvidado es este:
#include <stdio.h> #include<string.h>
#define MAX_CADENA 100
void main() { char cadena[MAX_CADENA]; int n_vocals=0, i; printf("Introdueix una cadena de caracters: "); gets(cadena); i=0; while (cadena[i]!='\0') { if ((cadena[i]=='a') ||(cadena[i]=='e') ||(cadena[i]=='i') ||(cadena[i]=='o') ||(cadena[i]=='u') || (cadena[i]=='A') ||(cadena[i]=='E') ||(cadena[i]=='I') ||(cadena[i]=='O') ||(cadena[i]=='U')) n_vocals++; i++; } printf("El nombre de vocals a la cadena es: %d\n", n_vocals); } |
|
| Volver arriba | |
 |
|
Demidam
Registrado: 07 Ago 2004 Mensajes: 59
| Publicado: 01/11/2004 4:43 am | | | Título: |
| Porque en vez de hacer un "if " q cuente todas las vocales no haces cinco y que el primero te cuente cuantas "a" tiene la cadena, el segundo cuantas "b" y asi hasta la "u"
Salu2 |
|
| Volver arriba | |
 |
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 01/11/2004 5:00 am | | | Título: |
| xo q pongo en cada if? todo dentro del while? y en cada if ay q poner un printf?probe varias cosas xo m da errores no sé y al final se me quedo asi. Gracias |
|
| Volver arriba | |
 |
elColme

Registrado: 14 Abr 2004 Mensajes: 102 Ubicación: España
| Publicado: 01/11/2004 5:14 am | | | Título: Re: contar vocales string |
| Hola.
A vote pronto esta es una posible solución que se me ocurre:
| Código: | #include <stdio.h>
#define MAX_CADENA 100
void main(void) { char cadena[MAX_CADENA]; int i,j; //int vocales[5]; int vocales[5]={0}; char tvocales[]={'a','e','i','o','u'};
printf("Introdueix una cadena de caracters: "); gets(cadena);
i=0; while (cadena[i]!='\0') { for(j=0;j<5;j++) if(cadena[i]==tvocales[j]) vocales[j]++; i++; }
for(i=0;i<5;i++) { printf("\nLa %c aparece en \"%s\" %d veces",tvocales[i],cadena,vocales[i]); }
} |
|
|
| Volver arriba | |
 |
|
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 01/11/2004 5:20 am | | | Título: |
| | ok,gracias, lo mirare.una cosa, esto pa q sirve:\"%s\, tenia entendido q la s es pa las cadenas. |
|
| Volver arriba | |
 |
elColme

Registrado: 14 Abr 2004 Mensajes: 102 Ubicación: España
| Publicado: 01/11/2004 9:11 am | | | Título: Re: uso \" |
| Es para mostrar el caracter comillas dobles por pantalla
| Código: | //Muestra: hola printf("%s",hola);
//Muestra: "hola" printf(" \"%s\" ",hola); |
|
|
| Volver arriba | |
 |
nieves
Registrado: 16 Oct 2004 Mensajes: 146
| Publicado: 01/11/2004 9:25 am | | | Título: |
| | es verdad,merci |
|
| Volver arriba | |
 |
|
Yunkel
Registrado: 30 Oct 2004 Mensajes: 13 Ubicación: Michoacan, Mexico
| Publicado: 03/11/2004 10:59 pm | | | Título: |
| podrias poner algo asi
| Código: | while(cadena[i]!='\0') switch(cadena[i]) { case 'a': a++; break; case 'e': /*guardas en una variable diferente el numero de*/ e++; /* veces que a aparecido cada vocal*/ break; . . . } printf("hay %d 'a' en la cadena",a); printf("hay %d 'e' en la cadena",e); /*y ya las imprimes por separado*/ printf("hay %d 'i' en la cadena",i); . . . }
|
|
|
| Volver arriba | |
 |
|
|