# C Program to find the transpose of a matrix

Last updated on September 23, 2020

The following is a C program to find the transpose of a matrix:

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 /******************************************** * Program to find the transpose of a matrix ********************************************/ #include // include stdio.h #define ROW 2 #define COL 4 int main() { int i, j, mat[ROW][COL], trans_mat[COL][ROW]; printf("Enter matrix: \n"); // input matrix for(i = 0; i < ROW; i++) { for(j = 0; j < COL; j++) { scanf("%d", &mat[i][j]); } } /* create transpose matrix by * switch entries */ for(i = 0; i < ROW; i++) { for(j = 0; j < COL; j++) { trans_mat[j][i] = mat[i][j]; } } printf("\nTranspose matrix: \n"); // print transpose matrix for(i = 0; i < COL; i++) { for(j = 0; j < ROW; j++) { printf("%d ", trans_mat[i][j]); } printf("\n"); } // signal to operating system everything works fine return 0; } 

Expected Output:

 1 2 3 4 5 6 7 8 9 Enter matrix: 1 2 3 4 5 6 7 8 Transpose matrix: 1 5 2 6 3 7 4 8 

## How it works #

Let A be a matrix of size m x n, then the matrix obtained by interchanging the rows and columns is called the Transpose of A.

The transpose of a matrix is denoted by $$A^T$$ . For example:

$A = \left(\begin{array}{cc}1 & 2\\3 & 4\\5 & 6\end{array}\right)$

then

$A^T = \left(\begin{array}{ccc}1 & 3 & 5\\2 & 4 & 6\end{array}\right)$

Here is how the program works:

1. The first for loop (lines 16-22) asks the user to input the matrix.
2. The second for loop (lines 27-33) creates the transpose matrix by interchanging rows with columns.
3. The third for loop (lines 38-46) prints the transpose of a matrix.