欢迎来到天天文库
浏览记录
ID:47602766
大小:64.00 KB
页数:11页
时间:2019-09-26
《离散数学实验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{
2、vectors;//集合MatA;//关系矩阵MatB;MatC;参考学习...MatE;MatD[100];//用来存储矩阵intn;public:voidinputs();//将集合存入向量中voidinputa();//将读入的关系转化为关系矩阵voidprint();//输出关系矩阵voidmi();intWarshall();};//定义类intn,m;//全局变量,下文中使用voidRelation::inputs(){cout<<"输入集合";for(inta;cin>>a;){s.pu
3、sh_back(a);if(getchar()=='')break;}}//将集合存入向量中voidRelation::inputa(){//将读入的关系转化为关系矩阵参考学习...cout<<"输入关系";inti,j,e,r;for(i=0;iu;for(j=0;j4、k(u);}//创建二维向量,初始化,是每个元素为0for(inth,z;cin>>h>>z;){if(h==0&&z==0)break;for(i=0;i5、>n;//读入幂次if(n==0){//0次幂for(intk=0;k6、{for(i=1;i1){for(a=0;a7、ize())break;}}//检验是否重复if(a==s.size()&&b==s.size()){break;//重复则跳出不再幂乘}for(intk=0;k8、
4、k(u);}//创建二维向量,初始化,是每个元素为0for(inth,z;cin>>h>>z;){if(h==0&&z==0)break;for(i=0;i5、>n;//读入幂次if(n==0){//0次幂for(intk=0;k6、{for(i=1;i1){for(a=0;a7、ize())break;}}//检验是否重复if(a==s.size()&&b==s.size()){break;//重复则跳出不再幂乘}for(intk=0;k8、
5、>n;//读入幂次if(n==0){//0次幂for(intk=0;k6、{for(i=1;i1){for(a=0;a7、ize())break;}}//检验是否重复if(a==s.size()&&b==s.size()){break;//重复则跳出不再幂乘}for(intk=0;k8、
6、{for(i=1;i1){for(a=0;a7、ize())break;}}//检验是否重复if(a==s.size()&&b==s.size()){break;//重复则跳出不再幂乘}for(intk=0;k8、
7、ize())break;}}//检验是否重复if(a==s.size()&&b==s.size()){break;//重复则跳出不再幂乘}for(intk=0;k8、
8、
此文档下载收益归作者所有