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<stdio.h> // 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:

then,

Here is how the program works:

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

**Recommended Reading:**