猿问

向量的向量以创建矩阵

我正在尝试输入2D矩阵的尺寸。然后使用用户输入来填写此矩阵。我尝试执行此操作的方式是通过向量(向量的向量)。但是,每当我尝试读入数据并将其附加到矩阵时,都会遇到一些错误。


//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];

    }

}

每当我尝试执行此操作时,都会给我下标超出范围的错误。有什么建议吗?


忽然笑
浏览 430回答 3
3回答

慕雪6442864

在访问任何元素之前,必须将向量的向量初始化为适当的大小。您可以这样做:// assumes using std::vector for brevityvector<vector<int>> matrix(RR, vector<int>(CC));这将创建一个RR大小CC向量的向量,并用填充0。

LEATH

我对c ++不熟悉,但是快速浏览一下文档可以发现这应该可行://cin>>CC; cin>>RR; already donevector<vector<int> > matrix;for(int i = 0; i<RR; i++){&nbsp; &nbsp; vector<int> myvector;&nbsp; &nbsp; for(int j = 0; j<CC; j++)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; int tempVal = 0;&nbsp; &nbsp; &nbsp; &nbsp; cout<<"Enter the number for Matrix 1";&nbsp; &nbsp; &nbsp; &nbsp; cin>>tempVal;&nbsp; &nbsp; &nbsp; &nbsp; myvector.push_back(tempVal);&nbsp; &nbsp; }&nbsp; &nbsp; matrix.push_back(myvector);}
随时随地看视频慕课网APP
我要回答