C++线性方程组类程序设计求助

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:46:45
线性方程组类的设计
一. 类名
CLinearEquation :public CMatrix
二. 私有成员变量
(1) 方程组系数矩阵,继承成员,不可见
(2) Constant (CVector*) //方程组的常数向量,新增成员
(3) 方程组中方程个数,继承成员,矩阵行数,不可见
(4) 方程组中未知数个数,继承成员,矩阵列数,不可见
三. 公有成员变量
四. 私有成员函数
五. 公有成员函数
(1) CLinearEquation(CMatrix& coe, CVector& con ):CMatrix(coe)
//构造函数1,通过系数矩阵和常数向量创建线性方程组
(2) CLinearEquation(char* pFile)
//构造函数2,通过数据文件创建线性方程组
(3) CLinearEquation(unsigned int ne, unsigned int nv):CMatrix(ne,nv)
//构造函数3,通过方程个数和未知数创建线性方程组
(4) CLinearEquation()
//构造函数4,默认构造函数
(5) ~CLinearEquation()
//析构函数
(6) int AddVariable(double *pcoe, unsigned int pc)
//为方程组增加一个变量,其系数矩阵增加一列,pcoe为增加系数地址,pc为增加系数列的序号,0为最前面,默认追加在尾部,成功返回未知数个数,否则为-1
(7) int AddEquation(double *pcoe, double con, unsigned int pr)
//为方程组增加一个方程,其系数矩阵增加一行,pcoe为增加系数地址,con为增加方程的常数项,pr为增加系数行的序号,0为最前面,默认追加在尾部,成功返回方程个数,否则为-1
(8) int DeleteVariable(unsigned int pc)
//删除方程组中第pc个未知数,并删除其系数列
(9)

先说如何调用的,用高斯消元法做的
#include<iostream.h>
#include"01.h"
void main()
{
equation a;
a.InputData();
a.solve_eqution();
cin.get();
cin.get();
}

下面是以前写的类,可能要你自己修改一下

#include<iomanip.h>
const int Max_Number=20;
class equation
{
private:
int number; //方程个数
char value[Max_Number]; //未知量
double modulus[Max_Number][Max_Number]; //方程系数
double constant[Max_Number]; //右端常数
public:
equation(int _number=0); //构造函数
void InputData(); //输入数据
void solve_eqution(); //高斯全主元消去
void gauss_all_valueiaoqu(); //Gauss全主元消去法
void gauss_calculate(); //高斯消去法以后计算未知量的结果
void evaluechange_hang(int m,int n);
void evaluechange_a_lie(int m,int n);
void evaluechange_value(int m,int n);
};

equation::equation(int _number)
{
number=_number;
}