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

funcion find

Estas en el tema de funcion find en el foro de C/C++ en Foros del Web. estoy tratando por medio de find contar el numero de "e" en la cadena de caracteres; pero solo logro que me imprima la primera "e" ...
  #1 (permalink)  
Antiguo 19/05/2011, 21:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
funcion find

estoy tratando por medio de find contar el numero de "e" en la cadena de caracteres; pero solo logro que me imprima la primera "e"

que puedo hacer para que el programa me busque todoas las "e" y me imprima en pantalla cuantas hay?
------------------------------------------------------------------------------------------------------------------------------------------------

#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int main ()
{
string str= ("Diego Alexander Sachica Herrera Sachica");
string str2 ("a");
size_t found;

found=str.find("e",0);

int n=0;

while ( found<39){


found=str.find("e",found++);
n++;


cout<<n <<endl;

}



}
  #2 (permalink)  
Antiguo 20/05/2011, 08:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: funcion find

Hola diegosachica, estube revisando tu código y se me ocurrio hacerlo de la siguiente manera, espero te ayude, yo tambien soy nuevo en esto ^^!.

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main ()
  5. {
  6.     string str= ("Diego Alexander Sachica Herrera Sachica");
  7.     string str2 ("r"); //Letra a Buscar
  8.     size_t found=0;
  9.     int n=0;
  10.    
  11.     for(;;)
  12.     {
  13.       found=str.find(str2,found);  
  14.       if(found==string::npos)//Si es que ya no se volvio a encotrar otra coincidencia
  15.         break;//salir bucle
  16.       else
  17.         cout<<"Posicion : "<<found<<endl;
  18.       found++;
  19.       n++;  
  20.     }
  21.    
  22.     cout<<endl<<"Se encontro "<<n<<" Letras "<<str2<<endl;
  23.    
  24.     system("pause");
  25.     return 0;
  26. }


espero te sirva, hasta luego.

Etiquetas: find, funcion
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 23:59.