将矩阵的行列互换得到的新矩阵称为转置矩阵。
把m×n矩阵
的行列互换之后得到的矩阵,称为 A 的转置矩阵,记作 AT ,
即
AT=⎣⎡a11 a12 ⋅⋅⋅ a1n
a21 a22 ⋅⋅⋅ a2n
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
am1 am2 ⋅⋅⋅ amn⎦⎤
由定义可知, A 为m×n 矩阵,则 AT 为 n×m 矩阵。例如,
A=[1−20123]
,
AT=⎣⎡102−213⎦⎤.
n×n矩阵称之为 n阶方阵,
如果 n 阶方阵和它的转置相等,即 AT=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 n,m,k=0,a[100][100],b[100][100];
scanf("%d",&n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
b[i][j] = a[j][i];
if(a[i][j]==b[i][j])
k++;
}
if(k==n*n)
printf("Yes");
else
printf("No");
return 0;
}
当一个数对称时记k加上1
当k为矩阵全体则k=n*n