c++ - vector 的 vector 来创建矩阵

标签 c++ vector matrix

我正在尝试输入二维矩阵的维度。然后使用用户输入来填充这个矩阵。我尝试这样做的方法是通过 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/

相关文章:

c++ - 从 vector C++ 中的元素中减去值

vector - Rust 泛型向量<Vector<T>>

CSS3 二维变换模块 : multiple functions: order of function application in noncommutative case

sql - 存储二维稀疏数组(二维稀疏矩阵)的最佳方式是什么?它在 VoltDB 中的大小是多少?

c++ - boost::serialization - 是否有一种可移植的方式来二进制序列化 std::wstrings?

c++ - 如何从 Qt Creator GUI 中的 QLineEdit 获取输入?

c++ - 使用 Visual Studio 2013 为 WinRT 构建 Qt

c++ - ns-3 中的 Waf 配置

c++ - 如何将txt文件读入vector并cout文件?

python - 根据索引分配值的最快方法