C++ Program to Transpose a Matrix

Write a C++ Program to Transpose a Matrix with an example. Within the nested for loop, we assigned the original matrix row column value to the column row position. Next, we used another nested for loop to print the transposed matrix output.

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns;
	
	cout << "\nPlease Enter the rows and Columns =  ";
	cin >> i >> j;
	
	int orgMat[i][j], transMat[i][j];
	
	cout << "\nPlease Enter the Original Items\n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < i; columns++) {
			cin >> orgMat[rows][columns];
		}	
	}	
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < j; columns++) {
			transMat[columns][rows] = orgMat[rows][columns];
		}
	}
	cout << "\nThe Final Result after Transposing \n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < j; columns++) {
			cout << transMat[rows][columns] << "  ";
		}
		cout<<"\n";
	}
 	return 0;
}
Please Enter the rows and Columns =  3 3

Please Enter the Original Items
10 20 30
40 50 60
70 80 90

The Final Result after Transposing
10  40  70  
20  50  80  
30  60  90 

C++ Program to Transpose a Matrix Example

In this C++ example, we used extra cout statements to show you the row, column values, and original item values. And the transposed matrix item value at each iteration.

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns;
	
	cout << "\nPlease Enter the rows and Columns of Matrix to Transpose =  ";
	cin >> i >> j;
	
	int orgMat[i][j], transMat[i][j];
	
	cout << "\nPlease Enter the Original Matrix Items\n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < i; columns++) {
			cin >> orgMat[rows][columns];
		}	
	}	
	for(rows = 0; rows < i; rows++)	{
		cout << "\n---The Result of " << rows + 1 << " Row Iteration---";
		for(columns = 0; columns < j; columns++) {
			transMat[columns][rows] = orgMat[rows][columns];
			
			cout << "\n---The Result of " << rows + 1 << " Row and "<< columns + 1 << " Column Iteration---";
			cout << "\nValue of transMat[columns][rows] = "<< transMat[columns][rows] << " and orgMat[rows][columns] =  " << orgMat[rows][columns];
		}
	}
	cout << "\nThe Final Result after Transposing Matrix \n";
	for(rows = 0; rows < i; rows++)	{
		for(columns = 0; columns < j; columns++) {
			cout << transMat[rows][columns] << "  ";
		}
		cout<<"\n";
	}
 	return 0;
}
C++ Program to Transpose a Matrix using for loop Example