ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:15.67KB ,
资源ID:5597056      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5597056.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(离散数学实验 C 关系的运算 幂运算 闭包运算.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

离散数学实验 C 关系的运算 幂运算 闭包运算.docx

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

2、存储矩阵 intn;public: voidinputs();/将集合存入向量中 voidinputa();/将读入的关系转化为关系矩阵 voidprint();/输出关系矩阵 voidmi(); intWarshall();/定义类intn,m;/全局变量,下文中使用voidRelation:inputs() couta;) s.push_back(a);if(getchar()=n)break;/将集合存入向量中voidRelation:inputa()/将读入的关系转化为关系矩阵 cout输入关系; inti,j,e,r; for(i=0;is.size();i+) vectoru; f

3、or(j=0;jhz;)if(h=0&z=0) break; for(i=0;is.size();i+) if(si=h)e=i; if(si=z)r=i; Aer=1;Ber=1; Eer=1;/Cer=1;/读入关系,将关系对应的矩阵中的位置元素变为1 if(getchar()=n)break; voidRelation:print() for(inti=0;is.size();i+) for(intj=0;js.size();j+) coutAij; coutn;/读入幂次 if(n=0)/0次幂 for(intk=0;ks.size();+k) for(intj=0;js.size()

4、;+j) if(k=j) cout1;/对角线上元素为1 else cout0; coutendl; else for(i=1;in;+i) for(inth=0;hs.size();+h) for(intd=0;ds.size();+d) intm=0; for(intx=0;x1) for(a=0;as.size();+a) for(b=0;bs.size();+b) if(Cab!=D0ab) break; if(b!=s.size()break; /检验是否重复 if(a=s.size()&b=s.size() break;/重复则跳出不再幂乘 for(intk=0;ks.size()

5、;k+) for(intj=0;js.size();j+) Bkj=Ckj; Di-1=B; c=i; if(a=s.size()&b=s.size() intq; q=(n-i)%c;/找出结果位置 if(q=0)q=c; for(inte=0;es.size();e+) for(intf=0;fs.size();f+) coutDq-1ef;/输出 coutendl; return; else/1次幂 for(inth=0;hs.size();h+) for(intn=0;ns.size();n+) coutBhn; coutendl; intRelation:Warshall() for

6、(inti=0;is.size();+i) for(intj=0;js.size();+j) if(Aji=1) for(intk=0;ks.size();+k) Ajk=Ajk+Aik; if(Ajk!=0&Ajk!=1) Ajk=1; print(); inta=1;intb=1;/ for(intp=0;ps.size();+p) for(intl=0;ls.size();+l) if(Apl=0) for(intx=0;xs.size();+x) if(Apx*Axl=1) a=0; if(a=0)coutwrong!endl; else for(intp=0;ps.size();+p

7、) for(intl=0;ls.size();+l) if(Apl=1&Epl=0) Apl=0; /再判断传递性 for(intp=0;ps.size();+p) for(intl=0;ls.size();+l) if(Apl=0) for(intx=0;xs.size();+x) if(Apx*Axl=1) b=0; if(b=1) coutwrong!endl; return0; Apl=1; coutright!endl; / return1;voidmain() Relationw; w.inputs(); w.inputa(); w.print(); cout输入nendl; w.mi(); coutendl; cout闭包为endl; w.Warshall();实验截图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1