C Program to Find Transpose of a Matrix

1. Introduction

A matrix is a rectangular arrangement of numbers into rows and columns. The transpose of a matrix is obtained by swapping the rows and columns. In this guide, we will detail a C program that finds the transpose of a given matrix, and then, we'll explain the program's steps.

2. Program Overview

The C program will:

1. Ask the user for the dimensions of the matrix.

2. Take the matrix's elements as input from the user.

3. Calculate the transpose of the matrix.

4. Display the transposed matrix.

3. Code Program

#include <stdio.h>

int main() {
    int m, n, i, j;
    int matrix[10][10], transpose[10][10];

    // Asking user to input the dimensions of the matrix
    printf("Enter the number of rows and columns of matrix: ");
    scanf("%d%d", &m, &n);

    // Reading matrix elements
    printf("Enter the elements of the matrix:\n");
    for(i = 0; i < m; i++) {
        for(j = 0; j < n; j++) {
            scanf("%d", &matrix[i][j]);

    // Calculating the transpose
    for(i = 0; i < m; i++) {
        for(j = 0; j < n; j++) {
            transpose[j][i] = matrix[i][j];

    // Printing the transpose
    printf("Transpose of the matrix:\n");
    for(i = 0; i < n; i++) {
        for(j = 0; j < m; j++) {
            printf("%d\t", transpose[i][j]);

    return 0;


Enter the number of rows and columns of matrix: 3 3
Enter the elements of the matrix:
1 2 3
4 5 6
7 8 9
Transpose of the matrix:
1	4	7
2	5	8
3	6	9

4. Step By Step Explanation

1. Variable Declaration:

- Two matrices are declared: matrix[10][10] (to store the input matrix) and transpose[10][10] (to store the transposed matrix).

- m and n are used to store the dimensions of the matrix.

2. Getting Input from the User:

- The program asks the user to specify the number of rows (m) and columns (n).

- The user is then prompted to enter the elements of the matrix row by row.

3. Calculating the Transpose:

- A nested loop is used to iterate through the elements of the matrix.

- The key step in obtaining the transpose is by swapping the row and column indices, i.e., transpose[j][i] = matrix[i][j].

4. Displaying the Transposed Matrix:

- The program then prints the transposed matrix using nested loops. 

The concept of matrix transpose is a foundational one in linear algebra and finds applications in various mathematical and computational tasks.