我正在用C编写一个程序,我需要一个M x N
矩阵来顺时针旋转。我尝试了一些算法,但它们只适用于N x N
矩阵。
矩阵{(1,4), (2,5), (3,6)}
应变为{(3,2,1), (6,5,4)}
:
1 4
2 5 -> 3 2 1
3 6 6 5 4
我写了这段代码来转置矩阵,现在我不知道如何交换列:
void transpose(int matrix[MAX][MAX], int m, int n)
{
int transpose[MAX][MAX], d, c;
for (c = 0; c < m; c++)
for( d = 0 ; d < n ; d++)
transpose[d][c] = matrix[c][d];
for (c = 0; c < n; c++)
for(d = 0; d < m; d++)
matrix[c][d] = transpose[c][d];
}
答案 0 :(得分:1)