高斯-塞德尔迭代.cpp

来自「数值分析程序。。。。。好多程序下载 喜欢的朋友可以下 随时欢迎」· C++ 代码 · 共 41 行

CPP
41
字号
#include<stdio.h>
#include<math.h>
#define n 3
main()
{
 static float a[3][3]={{10.0,-2,-2},{-1,10,23},{-1,-1,3}};
 static float b[3]={7.2,8.3,4.2};
 static float x[3];
 float t,e,error,q;
    int I,j,s;
for(I=0;I<n;I++)
{
x[I]=0;
for(j=0;j<n;j++)
printf("%5f\n",a[I][j]);
printf("%5f\n",b[I]);
}
printf("enter e:");
scanf("%f",&e);
do{error=0;
for(I=0;I<n;I++)
{
t=x[I];
q=0;
for(j=0;j<n;j++)
{
if(j!=I)
q=q+a[I][j]*x[j];
x[I]=(b[I]-q)/a[I][I];
}
error=fabs(x[I]-t);
printf("%f",error);
printf("%f",x[I]);
}
printf("\n");
}
while(error>e);
for(I=0;I<n;I++)
printf("%d,%f",I,x[I]);
printf("\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?