我正在尝试输入2D矩阵的尺寸。然后使用用户输入来填写此矩阵。我尝试执行此操作的方式是通过向量(向量的向量)。但是,每当我尝试读入数据并将其附加到矩阵时,都会遇到一些错误。//cin>>CC; cin>>RR; already donevector<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]; }}每当我尝试执行此操作时,都会给我下标超出范围的错误。有什么建议吗?
3 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
在访问任何元素之前,必须将向量的向量初始化为适当的大小。您可以这样做:
// assumes using std::vector for brevity
vector<vector<int>> matrix(RR, vector<int>(CC));
这将创建一个RR大小CC向量的向量,并用填充0。
LEATH
TA贡献1936条经验 获得超6个赞
我对c ++不熟悉,但是快速浏览一下文档可以发现这应该可行:
//cin>>CC; cin>>RR; already done
vector<vector<int> > matrix;
for(int i = 0; i<RR; i++)
{
vector<int> myvector;
for(int j = 0; j<CC; j++)
{
int tempVal = 0;
cout<<"Enter the number for Matrix 1";
cin>>tempVal;
myvector.push_back(tempVal);
}
matrix.push_back(myvector);
}
- 3 回答
- 0 关注
- 429 浏览
添加回答
举报
0/150
提交
取消