如何选择/替换矩阵中行/列的所有元素?

时间:2017-06-23 20:21:07

标签: c++ arrays multidimensional-array

我知道在matlab中我们可以做Matrix(1,:),它为我们提供了所有列的第一行的所有元素。 无论如何在c ++中这样做? 就像我有int Matrix[3][3]={{1,1,1},{2,2,2},{3,3,3}};我如何一起获得/或替换{1,1,1}一样?

1 个答案:

答案 0 :(得分:1)

对于矩阵

int Matrix[3][3]={{1,1,1},{2,2,2},{3,3,3}};

它只是一个二维数组。数组的索引以0开头。 Matrix[0]指的是第一个元素,即{1,1,1}。我想这就是你要找的东西。

如果要替换矩阵的第一个元素,则需要逐个元素替换。例如,它可能是

for (int i=0; i<3; i++)
    Matrix[0][i] = 4;

矩阵将是

int Matrix[3][3]={{4,4,4},{2,2,2},{3,3,3}};

在Bjarne Stroustrup的 The C ++ Programming Language 一书中,您可以找到关于实现矩阵类的一些讨论。

您也可以在互联网上找到矩阵实现。

由于我相信你对C ++比较陌生,我还建议学习STL,特别是vector类,它基本上是一个动态数组。

如果您使用C ++ 11或更高版本,我还建议使用array类。

更高级的方法是使用指针数组。这将允许您替换整行。但是,这将是更多的C和更少的C ++。 C ++方式是实现矩阵类。