📄 6.gauss-seidel.cpp
字号:
#include<stdio.h>
#define n 3
#define N 100
#include<math.h>
main()
{
double a[3][3]={10 ,-2, -2, -2, 10, -1, -1, -2, 3},x1[3]={0, 0, 0},x2[3],b[3]={1, 0.5, 1},c[n],d[3];
double sum1=0,sum2=0,max;
int i,j,k;
/*printf("please input shjz\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%f",&c[j]);
a[i][j]=c[j];
}
}
printf("pleaes input B\n");
for(i=0;i<n;i++)
{
scanf("%f",&b[i]);
}
for(i=0;i<n;i++)
x1[i]=0;*/
for(k=0;k<N;k++)
{
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
sum1=sum1+a[i][j]*x2[j];
for(j=i+1;j<n;j++)
sum2=sum2+a[i][j]*x1[j];
x2[i]=(-sum1-sum2+b[i])/a[i][i];
sum1=0;sum2=0;
}
for(i=0;i<n;i++)
d[i]=fabs(x2[i]-x1[i]);
max=d[0];
for(i=0;i<n;i++)
if(d[i]>max)
max=d[i];
if(max<1e-8)
{
for(i=0;i<n;i++)
printf("%f\n",x2[i]);
break;
}
else
{
for(j=0;j<n;j++)
x1[j]=x2[j];
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -