数组:
1 2 3
4 5 6
我想要的输出:
1 4
2 5
3 6
我的代码:
for (i = 0; i < rows; i++) {
for (j = 0; j < col; j++) {
temp = matrix[j][i];
matrix[j][i] = matrix[i][j];
matrix[i][j] = temp;
}
}
for (i = 0; i < col; i++) {
for (j = 0; j < rows; j++) {
cout << setw(5) << matrix[i][j];
}
cout << endl;
}
其中行数和列数,以及数组的元素是从用户那里获取的。
我得到的输出:
1 2
4 5
3 6
我们将不胜感激。
最佳答案
尝试制作for (j = i; j < col; j++)
而不是 for (j = 0; j < col; j++)
在你的矩阵循环中,因为你不应该回到已经改变的值。
关于c++ - 如何在不声明另一个数组的情况下转置二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59316633/