请编写一个c++程序,判断一个5×5的二维数组是否对称?所谓对称是指所有x[i][j]元素与x[j][i]元素相等。
时间: 2023-09-22 09:05:44 浏览: 82
好的,下面是代码实现:
```c++
#include<iostream>
using namespace std;
int main()
{
int x[5][5];
bool flag = true; // 设置标志位,初始值为true
// 输入5×5的二维数组
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cin >> x[i][j];
}
}
// 判断是否对称
for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
if(x[i][j] != x[j][i]) // 如果对称元素不相等
{
flag = false; // 将标志位设为false
break;
}
}
if(!flag) // 如果已经不对称了,直接跳出循环
{
break;
}
}
// 输出结果
if(flag)
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
return 0;
}
```
注意:这里我们只需要判断上三角矩阵和下三角矩阵是否相等即可,因为对角线上的元素不需要判断。
阅读全文