2016-11-10 14 views
1

私は以下のコードを持っています。私はベクトルに値を追加するためにstruglingしています。最終的な目標はリストを反復することです。繰り返しごとにベクトルの2行に値を追加しますが、私は2dベクトルにpush_backを行う方法を理解していません。2Dベクトル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; 
    } 
} 

このベクターにはどのように1つの列を追加しますか? so ベクトル[0] [0] = 0 ベクトル[1] [0] = 0?

+1

'nns.push_back(スタンダード::ベクトル {I});'?実例:[ここ](https://ideone.com/DgSEkz)。これに加えて、標準のC++では、_2D Vector_という概念はありません。ここであなたが持っているのはベクトルのベクトルです。あなたはそれをそのように扱うべきです。 –

+0

パーフェクト!どうもありがとうございました – loxol

答えて

1

回答提供Algirdas完全に動作します。

#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; 
    } 
    } 
} 
関連する問題