# C Program to find the transpose of a matrix

Last updated on July 27, 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<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:

\[

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:

- 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:**

- C Program to reverse the elements of an array
- C Program to sum the elements of an array
- C Program to find the count of even and odd elements in the array
- C Program to add two Matrices
- C Program to multiply two matrices

Load Comments