׷

来自「收集的C语言算法程序」· 代码 · 共 47 行

TXT
47
字号
追赶法求解线性方程组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 + =
减小字号Ctrl + -
显示快捷键?