置換矩陣

不知名de菜鸟發表於2024-04-04

矩陣,可以用二維陣列表示出來

用二維陣列的下標來顯示矩陣如下:

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了

相關文章