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