tr.cpp

来自「解线性方程组的c++源程序」· C++ 代码 · 共 38 行

CPP
38
字号
#include <cmath>
#include <iostream>
using namespace std;

void tridag(double a[],double b[], double c[],double r[],double u[],int n);

int main()
{
	double a[4]={2,3,5,3};
	double b[5]={5,6,7,8,5};
	double c[4]={2,5,7,4};
	double r[5]={5,6,2,8,7};
	double u[5];
	tridag(a,b,c,r,u,5);
	return 0;
}



void tridag(double a[],double b[], double c[],double r[],double u[],int n)
{
    const int nmax=2800;
    double gam[nmax];

    double bet=b[0];
    u[0]=r[0]/bet;
    for(int j=1;j<n;j++)
	{
        gam[j]=c[j-1]/bet;
        bet=b[j]-a[j-1]*gam[j];
        u[j]=(r[j]-a[j-1]*u[j-1])/bet;
    }

    for (j=n-2;j>=0;j--)
	{
        u[j]=u[j]-gam[j+1]*u[j+1];
    }
}

⌨️ 快捷键说明

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