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

Creacion de un vector de vectores

Estas en el tema de Creacion de un vector de vectores en el foro de C/C++ en Foros del Web. Hola buenas, tenia una pequeña duda que no habia manera de solucionar... creo que es rapida solo tema de como se escribe... quiero hacer pues ...
  #1 (permalink)  
Antiguo 13/02/2013, 17:16
vib
 
Fecha de Ingreso: marzo-2011
Mensajes: 43
Antigüedad: 13 años, 1 mes
Puntos: 0
Creacion de un vector de vectores

Hola buenas, tenia una pequeña duda que no habia manera de solucionar...
creo que es rapida solo tema de como se escribe...
quiero hacer pues eso un vector de vectores

tenia echa esto
vector<int>*muestra;
"que era un vector de una array dinamica"
pero el problema esque veo que la array no la puedo definir, y no se nunca que valor maximo tendra por eso queria hacer un vector de vectores
he escrito diferentes soluciones pero me dan error como es?¿

vector<int vector <int>>muestras;
no me funciona he probado de mil manera y nada
y luego como seria para leer? osea hacer un push_back en la posicion [1][2] por ejemplo?

gracias!
  #2 (permalink)  
Antiguo 13/02/2013, 21:03
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Creacion de un vector de vectores

Tienes que crear una estructura-plantilla ya que de momento C++ no admite enunciar directamente un vector de vectores usando vector< vector<type> >

template<typename T>
struct vectors {
typedef std::vector< std::vector<T> > tipo;
};

y luego para enunciarlo

std::vectors<char>::tipo var1;
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #3 (permalink)  
Antiguo 13/02/2013, 21:44
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Respuesta: Creacion de un vector de vectores

Hola, en el siguiente ejemplo ambos vectores v1 y v2 de 2x2 terminan con los mismos valores, uno utilizando un inserter como push_back y el otro utilizando el inicializador del constructor.

Código C++:
Ver original
  1. #include <vector>
  2. using namespace std;
  3.  
  4. int main(){
  5.     vector<vector<int> > v1;
  6.     v1.push_back(vector<int>());
  7.     v1.push_back(vector<int>());
  8.     v1[0].push_back(0);
  9.     v1[0].push_back(1);
  10.     v1[1].push_back(2);
  11.     v1[1].push_back(3);
  12.  
  13.     vector<vector<int> > v2(2, vector<int>(2));
  14.     v2[0][0] = 0;
  15.     v2[0][1] = 1;
  16.     v2[1][0] = 2;
  17.     v2[1][1] = 3;
  18.  
  19.     return 0;
  20. }

Cita:
Iniciado por dontexplain Ver Mensaje
Tienes que crear una estructura-plantilla ya que de momento C++ no admite enunciar directamente un vector de vectores usando vector< vector<type> >
Quizás te hayas confundido, el ejemplo muestra la manera de hacerlo.

Saludos.
  #4 (permalink)  
Antiguo 14/02/2013, 15:00
 
Fecha de Ingreso: septiembre-2012
Ubicación: Lima
Mensajes: 46
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Creacion de un vector de vectores

Puedes revisar los siguientes articulos

http://www.codeproject.com/Articles/20930/The-complete-guide-to-STL-Part-1-Vector
http://www.codeproject.com/Articles/20965/The-complete-guide-to-STL-Part-3-Deque

Salu2
  #5 (permalink)  
Antiguo 15/02/2013, 07:24
vib
 
Fecha de Ingreso: marzo-2011
Mensajes: 43
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Creacion de un vector de vectores

gracias a todos por responder!!!!!
era lo que buscaba, luego me lo mirare con mas calma pero esa era la idea
gracias!

Etiquetas: funcion, int, vectores
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 18:17.