如何手动输入数据矩阵? < >我只想用C++(G++4.1.2)在矩阵中硬编码,默认情况下,我用STD::向量的STD::vector。

如何手动输入数据矩阵? < >我只想用C++(G++4.1.2)在矩阵中硬编码,默认情况下,我用STD::向量的STD::vector。,c++,vector,matrix,g++,C++,Vector,Matrix,G++,我猜这可以在一行中完成我只是不知道正确的语法 例如: (1,2,5) (9,3,6) (7,8,4) 我想可能是这样的- vector<int> v1(1,2,3); vector<int> v2(4,5,6); vector<int> v3(7,8,9); vector<vector<int>> vA(v1,v2,v3); 向量v1(1,2,3); 向量v2(4,5,6); 向量v3(7,8,9); 向量vA(v1,

我猜这可以在一行中完成我只是不知道正确的语法

例如:

(1,2,5)

(9,3,6)

(7,8,4)

我想可能是这样的-

  vector<int> v1(1,2,3);
  vector<int> v2(4,5,6);
  vector<int> v3(7,8,9);
  vector<vector<int>> vA(v1,v2,v3);
向量v1(1,2,3);
向量v2(4,5,6);
向量v3(7,8,9);
向量vA(v1,v2,v3);

通常,我会从文本文件中读取此信息,但我需要手动输入数字,并且我必须使用g++4.1.2

最简单的方法是最简单的(没有C++0x):

向量v(3); 对于(int a=0;a!=3;++a){ v[a]。调整大小(3); 对于(int b=0;b!=3;++b){ v[a][b]=a*3+b+1; } } 使用0x初始值设定项,我怀疑gcc版本是否支持:

vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
向量v={{1,2,3},{4,5,6},{7,8,9};
如果您不打算更改此矩阵的大小或形状,并且因为您要硬编码值,那么使用普通的旧数组可能会更好:

int matrix[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

否则,这就是您要寻找的。

这缺少各种必需的细节。这些是std:vector向量,还是其他类型的向量?您的gcc版本不支持0x初始值设定项,这就是为什么我说“使用0x初始值设定项,我怀疑gcc版本是否支持0x初始值设定项”。但是如果要调整大小,您需要复制到向量中。在这一点上,只需使用两个for循环来初始化向量就更简单、更容易了。我认为需要调整vector接口的大小或其他一些东西,但如果不是,我也会选择数组。
int matrix[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};