# C program to find transpose of a matrix

Transpose of a matrix is obtained by changing rows to columns and columns to rows. In other words, transpose of A[][] is obtained by changing A[i][j] to A[j][i].

## Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

The below program finds transpose of A[][] and stores the result in B[][], we can change N for different dimension.

```#include <stdio.h>
#define N 4

// This function stores transpose of A[][] in B[][]
void transpose(int A[][N], int B[][N])
{
int i, j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
B[i][j] = A[j][i];
}

int main()
{
int A[N][N] = { {1, 1, 1, 1},
{2, 2, 2, 2},
{3, 3, 3, 3},
{4, 4, 4, 4}};

int B[N][N], i, j;

transpose(A, B);

printf("Result matrix is n");
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
printf("%d ", B[i][j]);
printf("n");
}

return 0;
}
```

Output:

```Result matrix is
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4```

The program can be extended for rectangular matrices. The following post can be useful for extending this program.

How to pass a 2D array as a parameter in C?

The time complexity of the above program is O(n2).

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

# GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
1 Average Difficulty : 1/5.0
Based on 6 vote(s)

Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.