离散数学实验 C ++关系的运算(幂运算,闭包运算)

离散数学实验 C ++关系的运算(幂运算,闭包运算)

ID:47648073

大小:72.50 KB

页数:11页

时间:2019-10-15

离散数学实验 C ++关系的运算(幂运算,闭包运算)_第1页
离散数学实验 C ++关系的运算(幂运算,闭包运算)_第2页
离散数学实验 C ++关系的运算(幂运算,闭包运算)_第3页
离散数学实验 C ++关系的运算(幂运算,闭包运算)_第4页
离散数学实验 C ++关系的运算(幂运算,闭包运算)_第5页
资源描述:

《离散数学实验 C ++关系的运算(幂运算,闭包运算)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验2关系的运算(1)关系的幂运算输入:集合A,二元关系集合R,幂次n输出:R的n次幂要求:尽量使运算的计算量最小(2)关系闭包的计算输入:集合A,二元关系集合R输出:R的传递闭包t(R)要求:(a)采用Warshall算法(89页)(b)编写代码判断输出t(R)为传递闭包程序代码:#include#include#includeusingnamespacestd;typedefvector>Mat;classRelation{vectors;//集合MatA;//关系矩阵MatB

2、;MatC;MatE;MatD[100];//用来存储矩阵intn;public:voidinputs();//将集合存入向量中voidinputa();//将读入的关系转化为关系矩阵voidprint();//输出关系矩阵voidmi();intWarshall();};//定义类intn,m;//全局变量,下文中使用voidRelation::inputs(){cout<<"输入集合";for(inta;cin>>a;){s.push_back(a);if(getchar()=='')break;}}//将集合存入向量中voidRelation::inputa

3、(){//将读入的关系转化为关系矩阵cout<<"输入关系";inti,j,e,r;for(i=0;iu;for(j=0;j>h>>z;){if(h==0&&z==0)break;for(i=0;i

4、e=i;if(s[i]==z)r=i;}A[e][r]=1;B[e][r]=1;E[e][r]=1;//C[e][r]=1;//读入关系,将关系对应的矩阵中的位置元素变为1if(getchar()=='')break;}}voidRelation::print(){for(inti=0;i>n;//读入幂次if(n==0){//0次幂for

5、(intk=0;k1){for(a=0;a

6、size();++a){for(b=0;b

7、=0)q=c;for(inte=0;e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。