In this C++ tutorial, we will see how to find the transpose of a matrix, before going through the program, lets understand what is the transpose of matrix.
Lets say we have a matrix:
---------------- | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | | 10 | 11 | 12 | ----------------
The transpose of this matrix is shown below: Rows and columns are interchanged, rows of original matrix becomes column in transpose and columns of original matrix becomes rows in transpose.
--------------------- | 1 | 4 | 7 | 10 | | 2 | 5 | 8 | 11 | | 3 | 6 | 9 | 12 | ---------------------
Let’s implement this logic in a C++ program. To understand the program you should have a basic knowledge of arrays and multidimensional array.
C++ program to find transpose of a matrix
#include<iostream>
using namespace std;
int main(){
int matrix[10][10], transMatrix[10][10], row, col;
//Getting the rows from user and storing in row
cout<<"Enter the number of rows: ";
cin>>row;
//Getting the columns from user and storing in col
cout<<"Enter the number of columns: ";
cin>>col;
/* Asking the user to input the elements of matrix
* and storing them in the matrix array
*/
cout<<"Enter elements of matrix: "<<endl;
for(int i =0;i<row;i++) {
for(int j=0;j<col;j++) {
cin>>matrix[i][j];
}
}
// Finding the transpose matrix.
for(int i=0;i<row;i++) {
for(int j=0;j<col;j++) {
transMatrix[j][i] = matrix[i][j];
}
}
//Displaying the transpose matrix
cout<<"Transpose of Matrix: "<<endl;
for(int i=0;i<col;i++) {
for(int j=0;j<row;j++) {
cout<<transMatrix[i][j]<<" ";
/* This is just to format the output
* so you can see the matrix format
* in the output transpose matrix.
*/
if(j==row-1)
cout<<endl;
}
}
return 0;
}
Output:
Enter the number of rows: 4 Enter the number of columns: 3 Enter elements of matrix: 1 2 3 4 5 6 7 8 9 10 11 12 Transpose of Matrix: 1 4 7 10 2 5 8 11 3 6 9 12
Leave a Reply