pta 7-5 判断对称矩阵 (10 分)

7-5 判断对称矩阵 (10 分)

将矩阵的行列互换得到的新矩阵称为转置矩阵。

把m×n矩阵 A=
​⎣
​⎢
​⎢
​⎡
​​
​a
​11
​​
​a
​21
​​
​⋅⋅⋅
​a
​m1
​​
​​
​a
​12
​​
​a
​22
​​
​⋅⋅⋅
​a
​m2
​​
​​
​⋅⋅⋅
​⋅⋅⋅
​⋅⋅⋅
​⋅⋅⋅
​​
​a
​1n
​​
​a
​2n
​​
​⋅⋅⋅
​a
​mn
​​
​​
​⎦
​⎥
​⎥
​⎤
​​ 的行列互换之后得到的矩阵,称为 A 的转置矩阵,记作 A
​T
​​ ,

A
​T
​​ =
​⎣
​⎢
​⎢
​⎡
​​
​a
​11
​​
​a
​12
​​
​⋅⋅⋅
​a
​1n
​​
​​
​a
​21
​​
​a
​22
​​
​⋅⋅⋅
​a
​2n
​​
​​
​⋅⋅⋅
​⋅⋅⋅
​⋅⋅⋅
​⋅⋅⋅
​​
​a
​m1
​​
​a
​m2
​​
​⋅⋅⋅
​a
​mn
​​
​​
​⎦
​⎥
​⎥
​⎤
​​

由定义可知, A 为m×n 矩阵,则 A
​T
​​ 为 n×m 矩阵。例如, A=[
​1
​−2
​​
​0
​1
​​
​2
​3
​​ ] , A
​T
​​ =
​⎣
​⎡
​​
​1
​0
​2
​​
​−2
​1
​3
​​
​⎦
​⎤
​​ . n×n矩阵称之为 n阶方阵,

如果 n 阶方阵和它的转置相等,即 A
​T
​​ =A ,则称矩阵 A 为对称矩阵。

输入格式:
在第一行内给出n值(1<n<100)。

从第二行以后给出n阶矩阵所有行的元素值。

输出格式:
当输入的n阶矩阵是对称矩阵,输出“Yes”,否则输出“No”。

输入样例:
3
1 0 2
-2 1 3
4 3 2
输出样例:
No
输入样例:
3
1 -2 4
-2 1 3
4 3 2
输出样例:
Yes

#include <stdio.h>
int main(int argc, char *argv[])
{
	int a[101][101],b[101][101],n,x,f=1;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			scanf("%d",&x);
			a[i][j]=x;
		} 
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=a[j][i]) f=0;
		} 
	}
	if(f) printf("Yes");
	else printf("No");
	return 0;
}
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值