到目前为止,我已经能够使用一维向量,通过推/弹回添加或删除元素。但是,当尝试填写应该表示矩阵的二维向量时,我遇到了问题。我无法将这些功能与我的二维向量一起使用。当代码编译并运行时,我得到要求维度的位,然后它要求第一个元素 [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;
}