📄
字号:
追赶法求解线性方程组2007-07-16 19:07#include<iostream>
using namespace std;
#define n 4 //以四阶方程为例
void main()
{
int i,j;
float A[n][n],f[n],b[n],c[n],p[n],y[n],x[n],a[n];
cout<<"Please input the matrix of coefficients:"<<"\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>A[i][j];
cout<<"Please input the right part:"<<"\n";
for(i=0;i<n;i++)
cin>>f[i];
a[0]=0;
for(i=0;i<n;i++) //注意i的变化范围
b[i]=A[i][i];
for(i=1;i<n;i++) //注意i的变化范围
a[i]=A[i][i-1];
for(i=0;i<n-1;i++) //注意i的变化范围
c[i]=A[i][i+1];
c[n-1]=0;
p[0]=c[0]/b[0];
for(i=1;i<n-1;i++) //注意i的变化范围
p[i]=c[i]/(b[i]-a[i]*p[i-1]);
y[0]=f[0]/b[0];
for(i=1;i<n;i++) //注意i的变化范围
y[i]=(f[i]-a[i]*y[i-1])/(b[i]-a[i]*p[i-1]);
x[n-1]=y[n-1];
for(i=n-2;i>=0;i--) //注意i的变化范围,而且i是递减的,而不是递增的
x[i]=y[i]-p[i]*x[i+1];
cout<<"The final result is:"<<"\n";
for(i=0;i<n;i++)
cout<<"x"<<i<<"="<<x[i]<<"\n";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -