📄 jacobi.cpp
字号:
#include <iostream.h>
#include <math.h>
int main()
{
const int N=3;
/*const long int MAX=10000000;*/
double a[N][N];
double x0[N]={0,0,0};
double x[N]={1,1,1}; //只是为了循环的时候方便
double b[N];
cout<<"请输入数组a"<<endl;
for (int i=0;i<N;i++)
for (int j=0;j<N;j++)
cin>>a[i][j];
cout<<"请输入数组b"<<endl;
for ( i=0;i<N;i++)
cin>>b[i];
//进行迭代
for (int k=1;k<=15/*MAX*/;k++)
{
for (int i=0;i<N;i++)
{
for (int j=0;j<N;j++)
if(j!=i)
{
x[i]=b[i]-a[i][j]*x0[j];
x[i]=x[i]/a[i][i];
}
}
//计算两个结果的差
double c=x0[0]-x[0];
double max=fabs(c);
for (int q=1;q<N;q++)
{
c=x0[q]-x[q];
if(fabs(c)>max)
max=fabs(c);
}
/* //考察精度
if(max<1.0E-5)
{
cout<<"The reusult is:"<<endl;
for(int i=0;i<N;i++)
cout<<"x"<<i<<"="<<x[i]<<" "<<endl;
return 0;
}
else
{
for(int i=0;i<N;i++)*/
x0[i]=x[i];
/*}*/
}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
for(i=0;i<N;i++)
cout<<x[i]<<endl;
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -