C++ Program to Find Transpose of a Matrix



A matrix is a rectangular array of numbers arranged in rows and columns. To find the transpose of a matrix, we arrange the rows of the original matrix as columns in a new matrix. Similarly, the columns can also be arranged as rows.

An example of the transpose of a matrix is as follows:

multiplication of matrices

Finding Transpose of a Matrix

To find the transpose of a matrix in C++, we use multidimensional arrays to store matrix values in rows and columns. Then, we swap the rows and columns to get the transpose. Below are the steps we followed:

  • We first define the number of rows and columns of the original matrix.
  • Next, we create a 2D array a and initialize it with values to represent the matrix.
  • Then, we create another 2D array called transpose to store the result.
  • We copy each element from the original matrix to the transpose matrix by switching its row and column positions. In simple terms, the value at a[i][j] is placed at transpose[j][i].
  • Finally, we print the transpose matrix to show the result.

C++ Program to Find the Transpose of a Matrix

Here is a complete C++ program where we find the transpose of a matrix by swapping its rows and columns:

#include<iostream>
using namespace std;

int main() {
   int transpose[10][10], r=3, c=2, i, j;
   int a[3][3] = { {1, 2} , {3, 4} , {5, 6} };

   // Printing the original matrix
   cout<<"The matrix is:"<<endl;
   for(i=0; i<r; ++i) {
      for(j=0; j<c; ++j)
      cout<<a[i][j]<<" ";
      cout<<endl;
   }
   cout<<endl;
   // Storing transpose by flipping rows and columns
   for(i=0; i<r; ++i)
   for(j=0; j<c; ++j) {
      transpose[j][i] = a[i][j];
   }
   // printing the transposed matrix
   cout<<"The transpose of the matrix is:"<<endl;
   for(i=0; i<c; ++i) {
      for(j=0; j<r; ++j)
      cout<<transpose[i][j]<<" ";
      cout<<endl;
   }
   return 0;
}

Below you will see the output of the above program, which shows the transpose of a matrix.

The first matrix is:
The matrix is:
1 2 
3 4 
5 6 

The transpose of the matrix is:
1 3 5 
2 4 6 

Time Complexity: O(r*c) because we have to process each element to create the transpose.

Space Complexity: O(r*c) because we need extra space to store all those transposed elements.

Updated on: 2025-05-16T18:36:52+05:30

14K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements