我正在尝试输入二维矩阵的维度。然后使用用户输入来填充这个矩阵。我尝试这样做的方法是通过 vector ( vector 的 vector )。但是每当我尝试读入数据并将其附加到矩阵时都会遇到一些错误。
//cin>>CC; cin>>RR; already done
vector<vector<int> > matrix;
for(int i = 0; i<RR; i++)
{
for(int j = 0; j<CC; j++)
{
cout<<"Enter the number for Matrix 1";
cin>>matrix[i][j];
}
}
每当我尝试这样做时,它都会给我一个下标超出范围的错误。有什么建议吗?
最佳答案
在访问任何元素之前,您必须将 vector 的 vector 初始化为适当的大小。你可以这样做:
// assumes using std::vector for brevity
vector<vector<int>> matrix(RR, vector<int>(CC));
这将创建一个 RR
大小为 CC
vector 的 vector ,并用 0
填充。
关于c++ - vector 的 vector 来创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375591/