SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: gerarca en Lunes 11 de Abril de 2011, 21:01

Título: buscar palabras en una matriz!
Publicado por: gerarca en Lunes 11 de Abril de 2011, 21:01
saludos!! amigos estoy implementando un algoritmo que me permita buscar palabras en una matriz, ok. para este algoritmo hice:
Código: Text
  1.  
  2. string palabras[100];
  3. string cadena;
  4. char matriz[a][a]; // a son variables
  5.  
  6.  for( int x=0; x<cont_p; x++ )
  7.  {
  8.   char *q = strdup(palabras[x].c_str()); // apuntador para convertir la palabra de string a char
  9.  
  10.    for( int i=0; i<a; i++ )
  11.    {
  12.      for( int j=0; j<a; j++ )
  13.      {
  14.          if( matriz[i][j]==q[0] and matriz[i][j+1]==q[1] ) // comparo las 2 primeras letras de la palabra en la matriz
  15.          {            
  16.             for( int z=0; z<palabras[x].length(); z++ )
  17.               cadena.push_back(matriz[i][j+z]); // armo la palabra usando la matriz
  18.              
  19.             if( palabras[x] == cadena ) // si la palabra que busco es igual a la que se construyo arriba, la imprimo;
  20.               {
  21.                 cant++;
  22.                 cout << "palabras[" << x << "]: " << palabras[x]<< " cadena: " << cadena <<endl;
  23.               }
  24.              cadena = '';
  25.          }
  26.      }
  27.    }
  28. }
  29.  
  30.  
como pueden notar estoy agarrando cada palabra y  estoy buscando las 2 primeras letras(de la palabra) en la matriz, para esto le asigno a un apuntador a cada palabra, para luego ser comparada en la matriz y luego contruir la palabra.. y una ves construida la palabra con la matriz, esta la comparo con la palabra que estoy buscando y si es igual la imprimo..

Pero, esto que estoy implementando no me esta encontrando ninguna palabra, he revisado bien la matriz y el arreglo, y esta todo bien...  mi pregunta es que si estoy haciendo bien??
Título: Re: buscar palabras en una matriz!
Publicado por: m0skit0 en Martes 12 de Abril de 2011, 10:21
Yo creo que ya llevas suficiente tiempo en el foro como para usar las etiquetas de código
Código: C
  1.  

Estás usando C++, así que usa la clase string y deja de marearte con char*.

Saludos.
Título: Re: buscar palabras en una matriz!
Publicado por: gerarca en Miércoles 13 de Abril de 2011, 05:27
amigo lo que pasa es que estoy haciendo una aplicación, esta aplicacion la estoy haciendo primero en c++, para luego adaptarla para que funcione en un cluster(pelicanHPC el que estoy), para el cluster debo usar la libreria MPI, esta libreria es algo antigua y por lo tanto me estoy limitando a usar algunas librerías ya que no me van a funcionar con MPI, si tienes alguna sugerencia con respecto a mi duda te lo agradezco de verdad!   :good:


saludos
Título: Re: buscar palabras en una matriz!
Publicado por: m0skit0 en Miércoles 13 de Abril de 2011, 08:47
Miraré tu código cuando uses las etiquetas de código, que ya va siendo hora  ^_^