离散数学二元关系传递性判别、闭包方法实验报告(共9页)
-
资源ID:129923999
资源大小:102.63KB
全文页数:9页
- 资源格式: DOCX
下载积分:10积分
快捷下载
会员登录下载
微信登录下载
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
离散数学二元关系传递性判别、闭包方法实验报告(共9页)
离散数学二元关系传递性判别、闭包方法实验报告学院:理学院 班级:11信息与计算科学1班 姓名:* 学号:*一、 实验目的1. 通过上机程序,进一步加深对二元关系传递性判别,自反闭包,对称闭包,传递闭包的理解。 2. 掌握传递性判别,Warshall算法。 3. 学会用程序解决离散数学中的问题。 4. 增强我们编写程序的能力二、 实验内容 实验1:二元关系传递性判别实验2:有限集上给定关系的自反、对称和传递闭包(用Warshall算法)。 三、 实验环境 在microsoft visual c+实验环境下完成的,而所设计的程序也在这个环境下通过了编译,运行和测试。 四、 实验原理和实现过程实验1:#include <iostream>using namespace std;void main()int n,i,j,k;int m=0; /m是判断传递关系计数参数cout<<"请输入矩阵的行列数n:"cin>>n;int a2020;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<"请输入a"<<i<<""<<j<<":"cin>>aij; /输入R矩阵cout<<"R的关系矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl; /输出R矩阵for(i=1;i<=n;i+)for(j=1;j<=n;j+)if(aij!=0)for(k=1;k<=n;k+)if(aik<ajk /利用布尔加的特征,前一行数大于后一行m=m+1; /如果有一个数不成立,m加1if(m=0) cout<<"R有传递关系"<<endl;else cout<<"R没有传递关系"<<endl;实验2:1) 自反闭包#include <iostream>using namespace std;void main()int n,i,j;cout<<"请输入矩阵的行列数n:"cin>>n;int a2020;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<"请输入a"<<i<<""<<j<<":"cin>>aij;cout<<"R的关系矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)if(aij!=0)aii=1;ajj=1; /把符合条件的对角线上的值改为1cout<<"R的关系矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;2) 对称闭包#include <iostream>using namespace std;void main()int n,i,j;cout<<"请输入矩阵的行列数n:"cin>>n;int a2020;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<"请输入a"<<i<<""<<j<<":"cin>>aij;cout<<"R的关系矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)if(aij!=0)aji=1; /对称元素的值改为1cout<<"R的对称闭包矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;3) 传递闭包#include <iostream>using namespace std;void main()int n,i,j,k;int m=0;cout<<"请输入矩阵的行列数n:"cin>>n;int a2020;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<"请输入a"<<i<<""<<j<<":"cin>>aij;cout<<"R的关系矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;for(j=1;j<=n;j+)for(i=1;i<=n;i+)if(aij=1)for(k=1;k<=n;k+)aik=aik+ajk; /warshall方法if(aik=2) aik=1; /规范布尔加cout<<"R的传递闭包矩阵为:"<<endl;for(i=1;i<=n;i+)for(j=1;j<=n;j+)cout<<aij<<" "cout<<endl;五、 实验输入输出和数据实验1:1) 输入没有传递关系的关系矩阵R2)输入课本P30/例2.6实验2:1) 自反闭包2)对称闭包3)传递闭包 P52/例2.13六、 实验体会通过这次的实验,使我明白了,平日里学习不能浅尝辄止,必须要知道它的方法。做这次实验前我以为我对这块知识已经很熟了,但实际做的时候,发现我还是不是特别懂,必须要反复看书。其次,让我知道了,我平时学的数学知识可以很好的跟计算机结合,让我对程序设计有了更好的人是。