顺序高斯消去法:
代码:
#include <iostream>
#include <cstdio>
using namespace std;
const int MAXN = 10000;
double a[MAXN][MAXN];
double b[MAXN];
double x[MAXN];
int main()
{
int n;
double l;
while(cin >> n){///方程组阶数
for(int i = 0;i<n;i++)cin >> b[i];///输入方程组右端
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
cin >> a[i][j];///系数矩阵
}
}
///消元过程
for(int k = 0;k<n-1;k++){///消元行
for(int i = k+1;i<n;i++){///被消元行
l = a[i][k]/a[k][k];
for(int j = k;j<n;j++){
a[i][j]-=l*a[k][j];
}
b[i]-=b[k]*l;
}
}
///回带过程
for(int i = n-1;i>=0;i--){
x[i] = b[i];