如何把一个矩阵转换为对称矩阵?有这样一段程序,我总感觉是将矩阵转置,而不是变为对称矩阵,该如何修改呢?#define N 5void fun(int a[][N]){int i,j,t;for(i=0;i
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 19:56:28
![如何把一个矩阵转换为对称矩阵?有这样一段程序,我总感觉是将矩阵转置,而不是变为对称矩阵,该如何修改呢?#define N 5void fun(int a[][N]){int i,j,t;for(i=0;i](/uploads/image/z/6820049-65-9.jpg?t=%E5%A6%82%E4%BD%95%E6%8A%8A%E4%B8%80%E4%B8%AA%E7%9F%A9%E9%98%B5%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%AF%B9%E7%A7%B0%E7%9F%A9%E9%98%B5%3F%E6%9C%89%E8%BF%99%E6%A0%B7%E4%B8%80%E6%AE%B5%E7%A8%8B%E5%BA%8F%2C%E6%88%91%E6%80%BB%E6%84%9F%E8%A7%89%E6%98%AF%E5%B0%86%E7%9F%A9%E9%98%B5%E8%BD%AC%E7%BD%AE%2C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%8F%98%E4%B8%BA%E5%AF%B9%E7%A7%B0%E7%9F%A9%E9%98%B5%2C%E8%AF%A5%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9%E5%91%A2%3F%23define+N+5void+fun%28int+a%5B%5D%5BN%5D%29%7Bint+i%2Cj%2Ct%3Bfor%28i%3D0%3Bi)
如何把一个矩阵转换为对称矩阵?有这样一段程序,我总感觉是将矩阵转置,而不是变为对称矩阵,该如何修改呢?#define N 5void fun(int a[][N]){int i,j,t;for(i=0;i
如何把一个矩阵转换为对称矩阵?
有这样一段程序,我总感觉是将矩阵转置,而不是变为对称矩阵,该如何修改呢?
#define N 5
void fun(int a[][N])
{
int i,j,t;
for(i=0;i
如何把一个矩阵转换为对称矩阵?有这样一段程序,我总感觉是将矩阵转置,而不是变为对称矩阵,该如何修改呢?#define N 5void fun(int a[][N]){int i,j,t;for(i=0;i
此段程序确实是求方阵的转置
如果把循环体中语句只保留
a[i][j] = a[j][i];
结果就是对角线下方的元素aij 等于 对应的 aji
也就是用对角线上方的元素 构造出 对称矩阵
其实在循环结束后打印出结果就看清楚了
对称矩阵是针对方阵(行列相等)而言,对任意的方阵A,A+A的转置 一定是对称的。
以下是任意矩阵转置的c语言代码 不知对你有没用。
#include
int main()
{ int i,j,k,m,n;
double temp,a[100][100],b[100][100];
printf("a[m][n]==>input m...
全部展开
对称矩阵是针对方阵(行列相等)而言,对任意的方阵A,A+A的转置 一定是对称的。
以下是任意矩阵转置的c语言代码 不知对你有没用。
#include
int main()
{ int i,j,k,m,n;
double temp,a[100][100],b[100][100];
printf("a[m][n]==>input m(行):\n");
scanf("%d",&m);
printf("a[m][n]==>input n(列):\n");
scanf("%d",&n);
printf("input a[%d][%d]:\n",m,n);
for(i=0;i
for(i=0;i
}
printf("转置后,result==>:\n");
for(i=0;i
printf("\n");
}
return 0;
}
收起