2D矩阵转换方法不清楚

时间:2015-05-25 19:08:58

标签: algorithm matrix

如何以下列方式转换2D矩阵?:

我知道有这样的模式可以做到这一点,但硬编码不是方法,所以如果有人可以提供一些很棒的建议。

原件:

4 5 2 0

7 2 1 4

9 4 2 0

7 8 9 3

移调:

3 0 4 0

9 2 1 2

8 4 2 5

7 9 7 4

1 个答案:

答案 0 :(得分:1)

for(i=1; i<=n; i++) {
    for(j=1; j<=n-i; j++) {
        aux = a[i][j];
        a[i][j] = a[n-j+1][n-i+1];
        a[n-j+1][n-i+1] = aux;
    }

}

通过查看矩阵,您可以看到第i行与第n-i + 1列交换,这相当于相对于被交换的第二个对角线的对称元素。