陶瓷烤杯机:急啊!麻烦好心的哥哥姐姐帮我看看这道程序错哪了?

来源:百度文库 编辑:中科新闻网 时间:2024/04/23 14:21:49
高斯消去法求线性代数方程组的解
#include<iostream.h>
#include<math.h>
int main()
{
float a[10],b[10],d=0,t=0,sum;
int k=1,l=0,i=0,j=0,m,n;
cout<<"输入方程组组数"<<endl;
cin>>n;
cout<<"输入方程组未知数"<<endl;
cin>>m;
cout<<"输入方程组各项系数"<<endl;
for(int ii=1;ii<=n;ii++)
{
cout<<"第"<<ii<<"组数据"<<endl;
for(int jj=1;jj<=m;jj++)
cin>>a[ii][jj];
cin>>b[ii];
}
while(k<=n)
{
d=a[k][k];
l=k;
for(i=k+1;i<=n;i++)
{
d=a[i][k];
l=i;
}
}
if(l!=k)
{
for(l=k;j<=n;j++)
{
t=a[l][j];
a[l][j]=a[k][j];
a[k][j]=t;
}
t=b[k];
b[k]=b[l];
b[l]=t;
}
for(j=k+1;j<=n;j++)
{
a[k][j]/=a[k][k];
}
b[k]/=a[k][k];
for(i=k+1;i<=n;i++)
{
for(j=k+1;j<=n;j++)
{
a[i][j]-=a[i][k]*a[k][j];
}
j=1;
b[i]-=a[i][k]*b[k];
}
k++;
for(i=n-1;i>=1;i--)
{
sum=0;
for(j=i+1;j<=n;j++)
{
sum+=a[i][j]*b[j];
}
b[i]-=sum;
cout<<endl;
cout<<endl;
cout<<""<<endl;
for(int loop=1;loop<=n;loop++)
{
cout<<"x"<<loop<<"="<<b[loop]<<endl;
}
return 0;

问数学老