编写一个 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++ 程序
请参考 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