2016-04-26 55 views
0

I'a試圖執行一個算法,我要由用戶爲2D矢量輸入元件,使得我有一個這樣的元件:輸入元件

reference 1: 
1 2 3 
3 2 1 
1 2 3 

所以想知道如何元素的push_back成2D矢量

我的問題就在這裏:

std::vector<vector<int>> d; 
//std::vector<int> d; 
cout<<"Enter the N number of ship and port:"<<endl; 
cin>>in; 
cout<<"\Enter preference etc..:\n"; 
for(i=0; i<in; i++){ 
cout<<"ship"<<i+1<<":"<<' '; 
    for(j=0; j<in; j++){ 
    cin>>temp; 
    d.push_back(temp);// I don't know how to push_back here!! 
    } 
} 

回答

1

C++是一種強類型語言,d是矢量的矢量:

for(i=0; i<in; i++){ 
    cout<<"ship"<<i+1<<":"<<' '; 
    vector<int> row; 
    for(j=0; j<in; j++){ 
     cin>>temp; 
     row.push_back(temp);// I don't know how to push_back here!! 
    } 
    d.push_back(row); 
} 
+0

謝謝,關於印刷品,如果我嘗試這樣做(i = 0; i

+0

你忘了把一個新的行符號'cout << d [i] << std :: endl' – gdlmx

+0

ooooh yes thaaaank you :))) –

0
d[x].push_back(y); 

這應該爲你工作。