2016-11-10 1 views
1

Ich habe den Code unten und ich kämpfe um Werte zum Vektor hinzuzufügen. Das Endziel ist es, durch eine Liste zu iterieren und für jede Iteration einen Wert zu 2 Zeilen eines Vektors hinzuzufügen, aber ich kämpfe darum zu verstehen, wie man auf einen 2d-Vektor drückt.2D Vektor push_back

std::vector<std::vector<int> >nns; 
int i = 5; 
nns.push_back(i, i); 
for(int i = 0; i <nns.size(); i++) 
{ 
    for(int j = 0; j < nns[i].size(); j++) 
    { 
     std::cout << nns[i][j] << std::endl; 
    } 
} 

Wie würde ich diesem Vektor eine Spalte hinzufügen? also Vektor [0] [0] = 0 Vektor [1] [0] = 0?

+1

'nn.push_back (Std :: Vektor {i});'? Arbeitsbeispiel: [hier] (https://ideone.com/DgSEkz). Darüber hinaus gibt es in Standard C++ kein Konzept wie _2D Vector_. Was Sie hier haben, ist Vektor von Vektoren, und Sie sollten es so behandeln. –

+0

Perfekt! Vielen Dank – loxol

Antwort

1

Beantwortet von Algirdas Funktioniert perfekt.

#include <iostream> 
#include <vector> 
using namespace std; 

int main() { 
    std::vector<std::vector<int> > nns; 
    int i = 5; 
    nns.push_back(std::vector<int>{i}); 
    for (int i = 0; i < nns.size(); i++) { 
    for (int j = 0; j < nns[i].size(); j++) { 
     std::cout << nns[i][j] << std::endl; 
    } 
    } 
}