简介
实例
代码
#include<iostream>
using namespace std;
int n;
double a[100][100],b[100],x[100];
void input()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cin>>a[i][j];
cin>>b[i];
}
}
void gaussi ()
{
for(int i=0;i<n-1;i++)
{
for(int k=1; k<n ;k++)
{
double m = a[i+k][i]/a[i][i];
for(int j=0;j<n;j++)
{
a[i+k][j] -= a[i][j] * m ;
}
b[i+k] -= b[i] * m;
}
}
}
int main()
{
cout<<"输入系数矩阵的阶数"<<endl;
cin>>n;
cout<<"输入系数矩阵"<<endl;
input();
gaussi();
for(int i=0;i<n;i++) x[i] = 0;
// for(int i=0;i<n;i++){
// for(int j=0;j<n;j++)
// cout<<a[i][j]<<" ";
// cout<<b[i]<<" ";
// cout<<endl;
// }
for(int i=n-1;i>=0;i--)
{
double re = 0;
for(int j=n-1;j>i;j--)
{
re += a[i][j] * x[j];
}
x[i] = (b[i] - re) / a[i][i];
}
cout<<"结果是:"<<endl;
for(int i=0;i<n;i++)
cout<<x[i]<<" ";cout<<endl;
return 0;
}
结果是: