vector < vector<int> > ?

Iniciado por bemone, 23 Agosto 2012, 07:38 AM

0 Miembros y 2 Visitantes están viendo este tema.

bemone

Buenas, tengo que almacenar en una matriz la multiplicacion de dos arreglos y mi problema es que no se como acceder a la posicion de la matriz. Tendre que crear otras variables e ir decrementandolas para acceder? No creo que esa sea la mejor manera. En fin:

Código (cpp) [Seleccionar]

vector<int> vEntrada(tamano.length()), vProducto(tamano2.length());
vector < vector <int> > vPrincipal(tamano2.length(), vector<int>((tamano.length()+tamano2.length())-1));

vector<int>::reverse_iterator i, j;

   for(i=vProducto.rbegin(); i<vProducto.rend(); i++){
       for(j=vEntrada.rbegin(); j<vEntrada.rend(); j++){
           vPrincipal[][] = (*i)*(*j);
       }
   }


Saludos
Odio los tipos de variable de Windows.

BlackZeroX

#1
Solo necesitas: vector<int>::reference junto con back() y ocupar el miembro push_back();

http://www.cplusplus.com/reference/stl/vector/back/

Código (cpp) [Seleccionar]


   vector<int> vEntrada(tamano.length()), vProducto(tamano2.length());
   vector < vector <int> > vPrincipal(tamano2.length(), vector<int>((tamano.length()+tamano2.length())-1));

   vector<int>::reverse_iterator i, j;
   vector<int>::reference ref;

   for(i=vProducto.rbegin(); i<vProducto.rend(); i++){
       // aqui agregarias otro elemento a myvector, no lo pongo yo...
       ref = myvector.back();
       for(j=vEntrada.rbegin(); j<vEntrada.rend(); j++){
           ref.push_back( (*i)*(*j) ); // o tambien: myvector.back().push_back( (*i)*(*j) ); para evitar vector<int>::reference ref;
       }
   }

The Dark Shadow is my passion.

bemone

Cita de: BlackZeroX (Astaroth) en 23 Agosto 2012, 08:10 AM
Solo necesitas: vector<int>::reference junto con back() y ocupar el miembro push_back();

http://www.cplusplus.com/reference/stl/vector/back/

Código (cpp) [Seleccionar]


    vector<int> vEntrada(tamano.length()), vProducto(tamano2.length());
    vector < vector <int> > vPrincipal(tamano2.length(), vector<int>((tamano.length()+tamano2.length())-1));

    vector<int>::reverse_iterator i, j;
    vector<int>::reference ref;

    for(i=vProducto.rbegin(); i<vProducto.rend(); i++){
        // aqui agregarias otro elemento a myvector, no lo pongo yo...
        ref = myvector.back();
        for(j=vEntrada.rbegin(); j<vEntrada.rend(); j++){
            ref.push_back( (*i)*(*j) ); // o tambien: myvector.back().push_back( (*i)*(*j) ); para evitar vector<int>::reference ref;
        }
    }



Lo que vos decis es almacenarlo en un vector y luego almacenar ese vector a la matriz?
Odio los tipos de variable de Windows.

BlackZeroX

De hecho con:  myvector.back().push_back( (*i)*(*j) ); lo agregas directamente a la matriz... obviamente debes crear un nuevo vector... OJO son suposiciones pues la verdad NO SE COMO QUIERES ACCEDER a myvector... la otra forma es crear variables...

Dulces Lunas!¡.
The Dark Shadow is my passion.