我需要一个c程序来直接对齐矩阵。 我尝试了很多方法解决它,但没有得到所需的输出。所以请帮帮我。
我的代码
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n,i,j,k;
float a[10][10],x[10],u,m;
printf("Enter the number of equations :");
scanf("%d",&n);
printf("\nEnter the co-efficients of equations\n");
for(i=1;i<=n;i++)
for(j=1;j<=(n+1);j++)
scanf("%f",&a[i][j]);
printf("\nEntered co-efficient matrix is\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
printf("%.2f\t",a[i][j]);
printf("\n");
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
{
if(i != k)
{
u=a[i][k]/a[k][k];
for(j=1;j<=(n+1);j++)
{
a[i][j]=a[i][j]-(u*a[k][j]);
}
}
}
for(i=1;i<=n;i++)
{
m=a[i][i];
for(j=1;j<=(n+1);j++)
{
a[i][j]=a[i][j]/m;
}
}
printf("\nDiagonalised matrix is\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
printf("%.2f\t",a[i][j]);
printf("\n");
}
printf("\nsolution vector is\n");
for(i=1;i<=n;i++)
{j=(n+1);
printf("x[%d]=%.2f\n",i,a[i][j]);
}
}
输出应该是这样的,如果我输入任何系数....下三角元素和上三角元素应该为零,我还应该检查决定因素值是否保持相同。