Google News
logo
C Program to Find Transpose of a Matrix
The transpose of a matrix is a new matrix that is obtained by exchanging the rows and columns.

* In this program, the user is asked to enter the number of rows r and columns c. Their values should be less than 10 in this program.

* Then, the user is asked to enter the elements of the matrix (of order r*c).
Program :
#include <stdio.h>
int main() {
  int a[10][10], transpose[10][10], r, c;
  printf("Enter rows and columns: ");
  scanf("%d %d", &r, &c);

  // asssigning elements to the matrix
  printf("\nEnter matrix elements:\n");
  for (int i = 0; i < r; ++i)
  for (int j = 0; j < c; ++j) {
    printf("Enter element a%d%d: ", i + 1, j + 1);
    scanf("%d", &a[i][j]);
  }

  // printing the matrix a[][]
  printf("\nEntered matrix: \n");
  for (int i = 0; i < r; ++i)
  for (int j = 0; j < c; ++j) {
    printf("%d  ", a[i][j]);
    if (j == c - 1)
    printf("\n");
  }

  // computing the transpose
  for (int i = 0; i < r; ++i)
  for (int j = 0; j < c; ++j) {
    transpose[j][i] = a[i][j];
  }

  // printing the transpose
  printf("\nTranspose of the matrix:\n");
  for (int i = 0; i < c; ++i)
  for (int j = 0; j < r; ++j) {
    printf("%d  ", transpose[i][j]);
    if (j == r - 1)
    printf("\n");
  }
  return 0;
}
Output :
Enter rows and columns: 3
4
Enter matrix elements:
Enter element a11: 5
Enter element a12: 73
Enter element a13: 21
Enter element a14: 8
Enter element a21: 3
Enter element a22: 18
Enter element a23: 24
Enter element a24: 9
Enter element a31: 17
Enter element a32: 23
Enter element a33: 18
Enter element a34: 31
Entered matrix: 
5  73  21  8  
3  18  24  9  
17 23  18  31  

Transpose of the matrix:
5   3   17  
73  18  23  
21  24  18  
8   9   31