我的问题是取一个矩阵mat of rowcol长度,并将其中的每一列向左移动一个位置。例如,如果我有这样一个3x3矩阵:
4 5 2
6 7 3
3 4 6结果必须是这样:
5 2 4
7 3 6
4 6 3我不能让这个方法起作用,我做了多少次了,有人有什么想法吗?
下面是我的代码:
for(int i = rowcol - 1; i > 0; i--)
for(int j = 0; j < rowcol; j++) {
if(i == 0) swap(mat[j][rowcol - 1], mat[j][i]);
swap(mat[j][i], mat[j][i-1]);
}发布于 2022-02-15 21:37:21
,这是我更新的解决方案,,比我几分钟前发布的那个更简单。
基本上,对于每一行:
代码:
for (size_t row = 0; row < rowcol; row++) {
int tmp = mat[row][0];
for (size_t col = 1; col < rowcol; col++) {
mat[row][col-1] = mat[row][col];
}
mat[row][rowcol-1] = tmp;
}https://stackoverflow.com/questions/71133093
复制相似问题