C++ 程序交换矩阵对角线

编写一个 C++ 程序来交换矩阵对角线,并附带示例。在此对角线交换示例中,我们使用 If 语句来检查给定的矩阵是否为方形。

此 If 语句内的第一个 for 循环使用 temp 变量来交换矩阵对角线。另一个嵌套的 for 循环将显示交换对角线后的矩阵项。

#include<iostream>
using namespace std;

int main()
{
	int i, j, rows, columns, temp;
	
	cout << "\nEnter Matrix rows and Columns to interchange Diagonals =  ";
	cin >> i >> j;
	
	int intDiagMat[i][j];
	
	cout << "\nPlease Enter the intDiagMat Matrix Items\n";
	for(rows = 0; rows < i; rows++)	
	{
		for(columns = 0; columns < i; columns++) 
		{
			cin >> intDiagMat[rows][columns];
		}		
	}	
	
	if(rows == columns)
  	{
  		for(rows = 0; rows < i; rows++)
  		{
  			temp = intDiagMat[rows][rows];
  			intDiagMat[rows][rows] = intDiagMat[rows][i - rows - 1];
  			intDiagMat[rows][i - rows - 1] = temp;
	   	}		
  	  
 		cout << "\nThe intDiagMat Matrix Items after Interchanging Diagonals are:\n";
 		for(rows = 0; rows < j; rows++)
  		{
   			for(columns = 0; columns < i; columns++)
    		{
      			cout << intDiagMat[rows][columns] << " ";
    		}
    		cout << "\n";
  		}
  	}
  	else
  	{
  		cout << "\nThe Matrix that you entered is Not a Square matrix" ;
	}	

 	return 0;
}
C++ Program to Interchange Matrix Diagonals

使用函数交换矩阵对角线的 C++ 程序

请参考 C++ 程序

#include<iostream>
using namespace std;

void interchangeDiagonols(int intDiagMat[50][50], int i, int j)
{
	int rows, columns, temp;
	
	for(rows = 0; rows < i; rows++)
  		{
  			temp = intDiagMat[rows][rows];
  			intDiagMat[rows][rows] = intDiagMat[rows][i - rows - 1];
  			intDiagMat[rows][i - rows - 1] = temp;
	   	}		
  	  
 		cout << "\nThe intDiagMat Matrix Items after Interchanging Diagonals are:\n";
 		for(rows = 0; rows < j; rows++)
  		{
   			for(columns = 0; columns < i; columns++)
    		{
      			cout << intDiagMat[rows][columns] << " ";
    		}
    		cout << "\n";
  		}
}
int main()
{
	int i, j, rows, columns, intDiagMat[50][50];
	
	cout << "\nEnter Matrix rows and Columns to interchange Diagonals =  ";
	cin >> i >> j;
	
	cout << "\nPlease Enter the intDiagMat Matrix Items\n";
	for(rows = 0; rows < i; rows++)	
	{
		for(columns = 0; columns < i; columns++) 
		{
			cin >> intDiagMat[rows][columns];
		}		
	}	
	
	if(rows == columns)
  	{
  		interchangeDiagonols(intDiagMat, i, j);
  	}
  	else
  	{
  		cout << "\nThe Matrix that you entered is Not a Square matrix" ;
	}	

 	return 0;
}
Enter Matrix rows and Columns to interchange Diagonals =  3 3

Please Enter the intDiagMat Matrix Items
10 20 30
55 77 88
99 66 44

The intDiagMat Matrix Items after Interchanging Diagonals are:
30 20 10 
55 77 88 
44 66 99