约当消去法求解方程组

来源:互联网 发布:电路模拟软件下载 编辑:程序博客网 时间:2024/05/01 22:57

#include "iostream.h"
void main()
{  
int i,j,n;
    float **a;
void jordan(float **a,int n);
cout<<"请输入方程次数:";
cin>>n;
a=new float*[n];
for(i=0;i<n;i++)
  a=new float[n+1];
cout<<"请输入增广矩阵:"<<endl;
for(i=0;i<n;i++)
  for(j=0;j<n+1;j++)
   cin>>a[j];
jordan(a,n);
cout<<"方程的解为:"<<endl;
for(i=0;i<n;i++)
  cout<<"X"<<i+1<<"="<<a[n]<<endl; 
}
void jordan(float **a,int n)
{
int i,j,k;
for(i=0;i<n;i++)
{
  for(j=n;j>=i;j--)
   a[j]=a[j]/a;
  for(k=0;k<n;k++)
   if(k!=i)
    for(j=n;j>=i;j--)
     a[k][j]=a[k][j]-a[j]*a[k];
}
}