gpt4 book ai didi

C++ 从矩阵中获取列 vector

转载 作者:行者123 更新时间:2023-11-28 06:36:24 25 4
gpt4 key购买 nike

我在我的代码中定义了这样一个矩阵

*matrix1 = new int[*matrix1rows * *matrix1columns];
*matrix2 = new int[*matrix2rows * *matrix2columns];

现在我需要将矩阵的列保存为单个 vector 以将两个矩阵相乘。例如,如果我有这样的矩阵:

1 2 3 4
5 6 7 8
9 1 2 3

例如,我想获取 vector 中的每一列

1
5
9

我已经创建了一个循环来将行作为 vector 获取,但现在我需要对列进行同样的操作,但我不知道该怎么做。

这是我获取行 vector 的循环。但现在我需要获取 matrix2 的列 vector 以将其与 matrix1 的行 vector 相乘。我无法更改矩阵的定义。

for (int j = 0; j < matrix1rows; j++) {
for (int i = 0; i < matrix1columns; i++) {
printf("%i ", matrix1[(j * matrix1columns) + i]);
}
}

如何通过循环获取矩阵的列?

最佳答案

将行标签与列标签互换,如下所示:

for (int i = 0; i < matrix1columns; i++) {
for (int j = 0; j < matrix1rows; j++) {
printf("%i ", matrix1[(j * matrix1columns) + i]);
}
}

关于C++ 从矩阵中获取列 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26709004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com