• Miércoles 3 de Julio de 2024, 04:37

Autor Tema:  Formas De Recorrido De Una Matriz??  (Leído 2268 veces)

jasj_20

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Formas De Recorrido De Una Matriz??
« en: Miércoles 28 de Mayo de 2008, 21:33 »
0
Hola todos.. soy nuevo aca...

necesito d su ayuda..

stoy buscando informacion sobre las formas de recorrido de una matriz en C++

eje,, por filas, por columnas, diagonal...

+

dejen link.. pero porfa ayudenme

gracias.............

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Formas De Recorrido De Una Matriz??
« Respuesta #1 en: Jueves 29 de Mayo de 2008, 05:37 »
0
Bueno para usar matrices y recorrerlas yo usaba un vector de vectores. Para esto usaba las famosas STL (standar template library) y su objeto vector ya que posee iteradores los que nos permite posicionarlos en cualquier parte del vector y recorrerlo.

Acá te dejo un ejemplito que hice recin para ver que tan oxidado estaba! jajaja Lo que hago es crear una matriz de 3x3 (uso funcion push_back de las stl) y luego la recorro con 2 while anidados.

Código: Text
  1.  
  2. vector<vector<int> > V;//creo un vector de vectores (matriz)
  3.  
  4. //creo 3 vectores para meter dentro del vector de vectores
  5. vector<int> v1;
  6. v1.push_back(1);
  7. v1.push_back(2);
  8. v1.push_back(3);
  9. V.push_back(v1);
  10.  
  11. vector<int> v2;
  12. v2.push_back(4);
  13. v2.push_back(5);
  14. v2.push_back(6);
  15. V.push_back(v2);
  16.  
  17. vector<int> v3;
  18. v3.push_back(7);
  19. v3.push_back(8);
  20. v3.push_back(9);
  21. V.push_back(v3);
  22. /*obtengo una matriz de 3x3 de la forma
  23.         1 2 3
  24.         4 5 6
  25.         7 8 9
  26. */
  27.  
  28. //de aquí me manejo mediante iteradores
  29. vector<vector<int> >::iterator p=V.begin();
  30. vector<int>::iterator q;
  31.  
  32. while(p!=V.end()){ //recorro la matriz y la voy mostrando con los iteradores
  33.         vector<int> aux=*p;
  34.         q=aux.begin();
  35.  
  36.         while(q!= aux.end()){
  37.                 cout << *q;
  38.         q++;
  39.         }//end while anidado
  40. p++;
  41. }//end primer while
  42.  
  43. getchar();
  44.  
  45.  
  46.  

Para usar el vector de las STL tebemos incluir

Código: Text
  1.  
  2. #include <vector.h>
  3.  

y no olvidarse del

Código: Text
  1. #include <iostream.h>
  2.  

para el cout ya que pertence a este...

Salu2 man y spero que te sirva de algo!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar