矩陣,可以用二維陣列表示出來
用二維陣列的下標來顯示矩陣如下:
1 2 3
4 5 6
7 8 9
原矩陣
1 4 7
2 5 8
3 6 9
置換矩陣
[0][0] [0][1] [0][2]
[1][0] [1][1] [1][2]
[2][0] [2][1] [2][2]
[0][0] [0][1] [0][2]
[1][0]
[2][0]
[1][1] [1][2]
[2][1] [2][2]
行與列的對換,每次都需要在不同的起點開始,不然雙雙對換,等於沒換。
以3×3的矩陣來說,需要交換2次,第一次交換,可以從【0】【0】開始,第二次交換則從【1】【1】開始。
int a[3][3] = { 1,2,3,4,5,6,7,8,9 }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%3d", a[i][j]); } printf("\n"); } printf("原矩陣\n"); 這是列印原矩陣
for (int i = 0; i < 3; i++) { for (int j = i; j < 3; j++) { int t = a[j][i]; a[j][i] = a[i][j]; a[i][j] = t; } } 這是轉換程式碼
最後再列印一遍就ok了