[圖解C] ex 6-4 ver2

// exercise 6-4: transpose the matrix

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int arrA[3][4] = {{1, 2, 3, 4},
                    {5, 6, 7, 8},
                    {9, 10, 11, 12}};
                                                     
    //  row -> tCol  [i] -> [j']
    //  col -> tRow  [j] -> [i']
    int i, j;
    int transA[4][3];
   
    // transpose
    for (i=0 ; i<3 ; i++){
        for (j=0 ; j<4 ; j++){
            transA[j][i] = arrA[i][j];
        }
    }
   
    // display
    for (i=0 ; i<3 ; i++){
        for (j=0 ; j<4 ; j++){
            printf("%2d  ", arrA[i][j]);
        }
        printf("\n");
    }
    printf("\n");
   
    for (j=0 ; j<4 ; j++){
        for (i=0 ; i<3 ; i++){
            printf("%2d  ", transA[j][i]);
        }
        printf("\n");
    }
    printf("\n");
 
    system("pause");
    return 0;
}