⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmatrix.h

📁 《VC++ 编程技巧与示例 .rar》各个示例代码绝对可用
💻 H
字号:
// CMatrix.h: interface for the CMatrix class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CMATRIX_H__C4B3EEF5_09EA_11D3_B596_0000000038B2__INCLUDED_)
#define AFX_CMATRIX_H__C4B3EEF5_09EA_11D3_B596_0000000038B2__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000


///////////////////////////////////
//      CMatrix Ver 1999.12.9    //
//        Programmed by HuYu     //
///////////////////////////////////

class CMatrix  
{
public:
	double * getdatabuffer();

	void addrow(UINT r,double dat[]);
	void addcol(UINT c,double dat[]);
	void addrow(UINT r,double dat  );
	void addcol(UINT c,double dat  );

	UINT getsize();
	UINT getcols();
	UINT getrows();
	double mod();
	void deletecol(unsigned c);
	void deleterow(unsigned r);
	void MoveRow(unsigned row1,unsigned row2);
	int  calroot();
	void setvalue(double var);
	void setvalue(unsigned r,unsigned c);
	void setvalue(unsigned r,unsigned c,double val[]);
	int  savematrix(char  *fn);
	double det();
//构造函数&析构函数:
	CMatrix(unsigned r);
	CMatrix();
	CMatrix(unsigned rs,unsigned cs);
	CMatrix(const CMatrix & mtr);
	CMatrix(unsigned rs,unsigned cs,double val[]);
	virtual ~CMatrix();
//一般成员函数:
	void setvalue(double val[]);
	void setelem(unsigned row,unsigned col,double val);
	void delelem(unsigned r,unsigned c);
	void unit();
//重载成员函数:
	double operator () (unsigned row,unsigned col);
	CMatrix & operator = (const CMatrix & mtx);
//重载友员函数:
	friend  CMatrix operator + (CMatrix p,CMatrix q);
	friend  CMatrix operator - (CMatrix p,CMatrix q);
	friend  CMatrix operator * (CMatrix p,CMatrix q);
	friend	CMatrix operator | (CMatrix p,CMatrix q);
	friend	CMatrix operator % (CMatrix p,CMatrix q);
	friend  CMatrix operator * (double  p,CMatrix q);
	friend  CMatrix operator / (CMatrix p,double  q);
	friend	CMatrix operator ~ (CMatrix p);
	friend	CMatrix operator ! (CMatrix p);
	friend	CMatrix operator - (CMatrix p);
//变量:
private:
	unsigned cols ;
	unsigned rows ;
	unsigned size ;
	double * elems;
	int cinv(double a[],int n);//求逆矩阵的函数;
};

#endif // !defined(AFX_CMATRIX_H__C4B3EEF5_09EA_11D3_B596_0000000038B2__INCLUDED_)

⌨️ 快捷键说明

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