验证离散数学中的关系的相关性质(自反性,对称性,反自反性,发对称性,传递性)通过关系矩阵的方法

通过离散数学的实验,可以进一步运用new运算符,复制构造函数,析构函数等C++类中的基础知识;同时提供了一个验证传递性的方法,化特殊到一般,把任何形式关系矩阵统统转换为方阵(基于善意的判断这一概念)从而实现验证传递性。(基于VS2010)

#include
#include//控制格式化输出
using namespace std;
class Matrix//利用关系矩阵判断关系的性质
{
private:
	int **Mr;//关系矩阵 利用二级指针建立动态的二维数组表示序偶对是否属于关系R
	int r,c;//关系矩阵的行和列
public:
	Matrix(int r=0,int c=0);
	Matrix(const Matrix &M);
	~Matrix();
	void print();
	void judgeR();
	void judgeS();
	void judgeT();
	void judgeAR();
	void judgeAS();
};
Matrix::Matrix(int n,int m):r(n),c(m)
{
	Mr=new int *[r];
	for(int i=0;i>Mr[i][j];
		}
	}
}
Matrix::Matrix(const Matrix &M)
{
	r=M.r;
	c=M.c;
	if(!Mr)
	{
		for(int i=0;ic?r:c);//选择行列中较大的那一个作为方阵的阶数
	int **Mr1;
	Mr1=new int*[num];
	for(int i=0;i>An>>Bn;
	  Matrix R(An,Bn);
      R.print();
	  R.judgeR();
	  R.judgeAR();
	  R.judgeS();
	  R.judgeAS();
	  R.judgeT();
	  return 0;
}



你可能感兴趣的:(c++)