如何以下列方式转换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
答案 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列交换,这相当于相对于被交换的第二个对角线的对称元素。