高斯消去法求解方程组

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

你可能感兴趣的:(数值分析)