我到目前爲止一直能夠使用一維向量,添加或刪除元素與推/回彈。 但是,當試圖填充應該表示矩陣的二維矢量時,我遇到了問題。我無法使用這些功能與我的2D矢量。當代碼編譯並運行時,我得到了要求維度的位,然後它要求第一個元素[1,1],對於輸入的任何值,我都會得到「分段錯誤:核心轉儲」。我不知道發生了什麼,一直在試圖修改我的代碼,但沒有取得很大的成功,因此互聯網在給出如何填寫這些該死的東西的簡單指南方面也沒有什麼用處...... 謝謝非常!如何添加項目到二維動態矢量
這裏是我的代碼
#include <iostream>
#include <vector>
using namespace std;
vector<vector<double> > readMatrix();
int main()
{
vector<vector<double> > matrix1 = readMatrix();
vector<vector<double> > matrix2 = readMatrix();
}
vector<vector<double> > readMatrix()
{
cout << "Entering a matrix" << endl;
cout << "Number of Lines : ";
int numberOfLines;
cin >> numberOfLines;
cout << "Number of Columns :";
int numberOfColumns;
cin >> numberOfColumns;
vector<vector<double> > matrix;
int i(0);
int j(0);
while(i<=numberOfLines && j<=numberOfColumns)
{
cout << "[" << i+1 << "," << j+1 << "] =" ;
int value;
cin >> value;
matrix[i].push_back(value);
cout << endl ;
j++;
if(j==numberOfColumns)
{
j=1;
i++;
}
}
return matrix;
}
不應該有s.th.像'matrix [i] [j] = value;' –
@ g-makulik如果它是一個3D矩陣就可以工作,問題是關於2D矩陣。 –
矢量矢量只是一個矢量。所以填充它就像你會一維矢量。除了放入矢量。 – juanchopanza