【C++】高斯消去法

来源:互联网 发布:白苹果 恢复模式 数据 编辑:程序博客网 时间:2024/05/16 06:53
#include<iostream>using namespace std;int main(){cout <<"有几个未知量:";int a = 0;cin >> a;double b[10][10];double x[10];memset(x,0,10);for(int i = 0;i<10;i++){for(int j = 0;j<10;j++){b[i][j] = 0;}}for(int i = 0;i<a;i++){for(int j = 0;j<a+1;j++){cin >> b[i][j];}}double s = 0;for(int k = 0;k<a;k++){for(int i = k+1;i<a;i++){if(b[k][k]!=0)s = b[i][k]/b[k][k];for(int j = 0;j<=a;j++){b[i][j] = b[i][j]-(s*b[k][j]);}}}for(int k = a-1;k>0;k--){for(int i = k-1;i>=0;i--){double o = b[i][k]/b[k][k];    for(int j = 0;j<=a;j++){b[i][j] = b[i][j]-(o*b[k][j]);}}}x[a-1] = b[a-1][a]/b[a-1][a-1];for(int i = a-2;i>=0;i--){for(int j = a-1;j>i;j--){double o = b[i][a]-b[i][j]*x[j];x[i] = o/b[i][i];}}for(int i = 0;i<a;i++){cout<<x[i]<<" ";}}

0 0
原创粉丝点击