PAGE
PAGE 10
计算机科学与工程学院实验报告
实验题目: 判断关系 R的性质
课程名称: 离散数学
实验类型:□演示性 □验证性
专业: 班级:
学生姓名: 学号:
实验日期: 2011年12年19日
实验地点:
实验学时:
实验成绩:
指导教师签字:
2011年 12月 25日
实验题目:判断关系R的性质
实验原理 :
1.自反与反自反性质
从给定的关系矩阵来断判关系R是否为自反是很容易的。若M(R的关系矩阵)的主对角线元素均为1,则R是自反关系;若M(R的关系矩阵)的主对角线元素均为0,则R是反自反关系;若M(R的关系矩阵)的主对角线元素既有1又有0,则R既不是自反关系也不是反自反关系。本算法可以作为判等价关系算法的子程序给出。
对称与反对称性质
若M(R的关系矩阵)为对称矩阵,则R是对称关系;若M为反对称矩阵,则R是反对称关系。判断对称性,对于i=2,3,….,n;j=1,2,……,i-1,若存在mij=mji,则R是对称的;
3.传递性质
一个关系R的可传递性定义告诉我们,若关系R是可传递的,则必有:mik=1∧mkj=1 mij=1。这个式子也可改写成为: mij =0 mik =0∨mkj=0。我们可以根据后一个公式来完成判断可传递性这一功能的。可传递性也是等价关系的必要条件,所以,本算法也可以作为判等价关系算法的子程序给出。
实验要求:
写出类c的算法并编写一个程序判断给定集合上的关系是否为自反的。
写出类c的算法并编写一个程序判断给定集合上的关系是否为对称的。
写出类c的算法并编写一个程序判断给定集合上的关系是否为传递的。
实验流程图:
输入矩阵各元素的值输入n阶矩阵M开始
输入矩阵各元素的值
输入n阶矩阵M
开始
判断输入是否正确判断出矩阵的自反性、对称性、传递性。
判断输入是否正确
判断出矩阵的自反性、对称性、传递性。
N
Y
结束
结束
实验中用到的函数:
input(); //输入矩阵函数
judge(); //判断输入矩阵是否正确函数
analagmatic(); //判断自反关系函数
symmetric(); //判断对称关系函数
transmit(); // 判断传递关系函数
程序源代码
#include
using namespace std;
int a[100][100];
int b[100][100];
int n;
int i,j,k;
void input()
{
int i,j;
cout<
cout<
cout<
cin>>n;
cout<
for(i=0;i
{
for(j=0;j
{
cin>>a[i]