【发布时间】:2014-12-05 22:54:33
【问题描述】:
我有一个 6 x 6 矩阵,我将它的值存储在一个大小为 36 的一维数组中。我想重新排列它,使行是列,列是行。我的方法是尝试将值复制到另一个数组中,但排序正确。我正在尝试一个 for 循环:
for (int i = 0; i < 6; ++i){
copyArray[i]= array[i*6];
}
这对于由第一列组成的第一个新行很好,但我如何继续做所有这些?我尝试过嵌套 for 循环,但无法使用迭代器提出正确的算法。我可以手动执行此操作,但希望通过代码完成。
我正在使用 C++ 进行编码,但如果有人可以使用类似的语言进行编码,那就太好了。我觉得这是一道数学题。
问题:如何解决切换行和列的问题? (示例:如果我将第一行和第一列表示为 0,在 6x6 矩阵中,那么行和列都从 0 变为 5。因此,通过切换行和列,将切换第 2 行、第 5 列中的值使用第 5 行第 2 列中的值。)
【问题讨论】:
-
不能将矩阵存储为二维数组吗?
-
@MuhammetAliAsan:这有什么帮助?
-
这叫做做一个矩阵转置。
标签: c++ arrays math matrix row