//完成 时间:4.17 晚 7点 #include"stdio.h"#include"iostream"#include"conio.h"#include"math.h" using namespace std; int n; // GUASSµü´úµÄ¹æÄ£ double e; double a[4][4]={{0,0,0,0},{0,10,-1,-2},{0,-1,10,-2},{0,-1,-1,5}}; double b[4]={0,7.2,8.3,4.2}; double x[4]; double y[4]; double max(){ double s=0.0000000000; for(int i=1;i<=3;i++) if(fabs(x[i]-y[i])>s)s=fabs(x[i]-y[i]); return s;} void display(){ cout<<endl; for(int i=1;i<=3;i++) cout<<" x"<<i<<"="<<y[i]; } void begin(){ int k=0; for(int i=1;i<=3;i++) { x[i]=0; y[i]=0; } while(k<n) { for(i=1;i<=3;i++) { double s=0; for(int j=1;j<=3;j++) s=s+a[i][j]*y[j]; s=s-a[i][i]*y[i]; y[i]=(b[i]-s)/a[i][i]; } if(max()<e){display();break;} display(); for(int t=1;t<=3;t++) x[t]=y[t]; k++; } if(k>=n)cout<<"µü´úʧ°Ü£¡"<<endl; } int main(){ cout<<"ÊäÈëGUASS-SEIDELµü´úµÄ¹æÄ£:"; cin>>n; cout<<endl; cout<<"ÊäÈëÎó²îÏÞ:"; cin>>e; cout<<"ÊäÈëA:"<<endl; for(int i=1;i<4;i++) for(int j=1;j<4;j++) cout<<" a"<<i<<j<<"="<<a[i][j]<<endl; cout<<"ÊäÈëb:"<<endl; for(i=1;i<4;i++) cout<<" b"<<i<<"="<<b[i]<<endl; begin(); getch(); return 1;} 声明:格式不统一 出现乱码 懒得改 都事汉字部分 可在 dev c++中调试

评论