注册 登录
编程论坛 C++教室

解线性方程组用的顺序Gauss消元法的编程,麻烦高手指点一下哪里有问题?

ainiwcc1 发布于 2009-10-10 12:53, 610 次点击
#include"iostream.h"
 void main()
 {
     int n,i,j,k;
     int s=0;
     cin>>n;
     float a[100][100];
     float b[100];
     float x[100];
     for(i=0;i<n;i++)
         for(j=0;j<n;j++)
         
             cin>>a[i][j];
            
   
         for(i=0;i<n;i++)
             cin>>b[i];//输入数组;
         for(k=0;k<n-1;k++)
            for(i=k+1;i<n;i++)
               for(j=k+1;j<n;j++)
               { a[i][j]=a[i][j]-a[i][k]*a[k][j]/a[k][k];//对a[i][j]进行计算;
                   b[i]=b[i]-a[i][k]*b[k]/a[k][k];//对b[i]进行计算;
               }
      x[n-1]=b[n-1]/a[n-1][n-1];
      for(k=n-2;k>=0;k--)
      for(j=k+1;j<n;j++)
      {s=s+a[k][j]*x[j];
         x[k]=(b[k]-s)/a[k][k];}//回代;
 
         cout<<"方程组的解为:"<<endl;
         for(i=0;i<n;i++)
             cout<<x[i]<<endl;
}
0 回复
1