Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] problema con bucle for

Estas en el tema de problema con bucle for en el foro de C/C++ en Foros del Web. tengo que ingresar una cadena de caracteres y devolver que vocales y en que cantidad hay. hice esto_ @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original #include ...
  #1 (permalink)  
Antiguo 31/10/2014, 10:34
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
problema con bucle for

tengo que ingresar una cadena de caracteres y devolver que vocales y en que cantidad hay.

hice esto_
Código C++:
Ver original
  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. int main(){
  5.     int a,e,i,o,u;
  6.     string cadena;
  7.     cin >> cadena;
  8.     for(int x;x<=cadena.length();x++){
  9.         if(cadena[x]=='a'){
  10.             a++;
  11.         }
  12.         else if(cadena[x]=='e'){
  13.             e++;
  14.         }
  15.         else if(cadena[x]=='i'){
  16.             i++;
  17.         }
  18.         else if(cadena[x]=='o'){
  19.             o++;
  20.         }
  21.         else if(cadena[x]=='u'){
  22.             u++;
  23.         }
  24.     }
  25.     cout << a << endl;
  26.     cout << e << endl;
  27.     cout << i << endl;
  28.     cout << o << endl;
  29.     cout << u << endl;
  30.     return 0;
  31. }

ponga la cadena que ponga lo que sale en la consola es:

Código:
0
0
0
2272144
0
pero si le saco esto:
Código C++:
Ver original
  1. else if(cadena[x]=='i'){
  2.             i++;
  3.         }
  4.         else if(cadena[x]=='o'){
  5.             o++;
  6.         }
  7.         else if(cadena[x]=='u'){
  8.             u++;
  9.         }

ya si me reconoce por lo menos la A y E, pero cuando tiene q mostrar el valor en pantalla de I , U
muestra esto:
i = 2272144
u = 2280688

no entiendo q pasa
  #2 (permalink)  
Antiguo 31/10/2014, 10:42
 
Fecha de Ingreso: octubre-2014
Ubicación: Cornellá de Llobregat
Mensajes: 8
Antigüedad: 9 años, 6 meses
Puntos: 2
Respuesta: problema con bucle for

Para usar la función length(); tendrías que incluir la libreria string en c++. Esto lo puedes hacer poniendo debajo de los otros "include de tu código:
#include <string>
  #3 (permalink)  
Antiguo 31/10/2014, 11:28
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: problema con bucle for

pero si puedo usar length() igual, me devuelve la longitud de la cadena, igual puse #include <string> y no pasa nada distinto
  #4 (permalink)  
Antiguo 31/10/2014, 11:45
Avatar de leosansan  
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: problema con bucle for

Cita:
Iniciado por icm9 Ver Mensaje
pero si puedo usar length() igual, me devuelve la longitud de la cadena, igual puse #include <string> y no pasa nada distinto
Tienes que inicializar todas las variables a cero, a=0,e=0,i=0,o=0,u=0, "incluyendo el x = 0" inicial del for. Y te sobra la librería stdio.h.

¡¡¡Saluditos!!!

  #5 (permalink)  
Antiguo 31/10/2014, 13:04
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: problema con bucle for

Cita:
Iniciado por yeraypg Ver Mensaje
Para usar la función length(); tendrías que incluir la libreria string en c++. Esto lo puedes hacer poniendo debajo de los otros "include de tu código:
#include <string>
Está programando en C++. La clase "string" de C++ dispone de un método llamado "length" que devuelve la longitud de la cadena. No hace falta incluir la librería "string.h" que está pensada para trabajar con arrays de caracteres.

Por lo demás, coincido con leosansan

Un saludo.
  #6 (permalink)  
Antiguo 31/10/2014, 14:25
 
Fecha de Ingreso: octubre-2014
Ubicación: Cornellá de Llobregat
Mensajes: 8
Antigüedad: 9 años, 6 meses
Puntos: 2
Respuesta: problema con bucle for

Lo siento
  #7 (permalink)  
Antiguo 31/10/2014, 15:46
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: problema con bucle for

Cita:
Iniciado por yeraypg Ver Mensaje
Lo siento
No hay que sentir nada... un despiste lo tiene cualquiera.

Lo he comentado sobretodo para evitar dudas.
  #8 (permalink)  
Antiguo 31/10/2014, 16:00
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: problema con bucle for

Cita:
Iniciado por leosansan Ver Mensaje
Tienes que inicializar todas las variables a cero, a=0,e=0,i=0,o=0,u=0, "incluyendo el x = 0" inicial del for. Y te sobra la librería stdio.h.

¡¡¡Saluditos!!!

Es eso gracias.

Etiquetas: bucle, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:54.