下载此文档

离散实验报告二.doc


文档分类:高等教育 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
“离散数学”实验报告专业:计算机嵌入式班级: 10455341 学号: 1045534125 姓名:孟腾腾指导老师:闫仁武日期: 2011/11/15 开始声明各子函数输入关系矩阵输入 z z=1 ; 调用自反函数 z=2 ,调用传递 1 算法函数 z=3 调用传递 2 函数 z=4, 条用对称函数结束一、实验内容求有限集上给定关系的自反、对称和传递闭包二、实验思路设计思路在三种闭包中自反和对称闭包的求解很容易, 对矩阵表示的关系, 其自反闭包只要将矩阵的主对角线全部置为 1 ??; 对称闭包??上关系的?置矩阵, ?将????? 1 的???设置为 1 ????;传递闭包?有?种算法: 算法 R ?集? X 上的二?关系,?其自反闭包为 r?R?=R UI (x)( I (x) 为??关系) R ?集? X 上的二?关系,?其对称闭包为 s?R?=R U R^c R ?集? X 上的二?关系,?其传递闭包为????? ni iRRt 1)( ??计算,????法二: Warshall 算法(1962) 设?的关系矩阵为?????矩阵??????置??????对?有的?,????, ????,?对????,?,…,?,????,??????,??????,??????????????????,??????,??结束?三、???主函数?、????// : Defines the entry point for the console application. // #include "" int const Max=20; class Relation { protected: int Len,A[Max],R[Max][Max]; int Index(int x); public: Relation(){Len=0;}; Relation(int *p,int Q[Max][Max],int n); int IsofA(int x); int IsofR(int x,int y); Relation UnionA(Relation R1); Relation CrossR(Relation R1); Relation C_r(); Relation C_s(); Relation C_t(); Relation C_t(int); int Reflexive(); int Symmetric(); int Transitive(); int Equivalent_Relations(); void PrintA(); void PrintR(); }; int Relation::Index(int x) { int i; for(i=0;i<Len;i++) if(A[i]==x)return(i); return(-1); }; Relation::Relation(int *p,int Q[Max][Max],int n) { int i,j; for(i=0;i<n;i++) { A[i]=p[i]; for(j=0;j<n;j++) R[i][j]=Q[i][j]; }; Len=i; }; int Relation::Reflexive() { for(int i=0;i<Len;i++) if(!R[i][i])return(0); return(1); }; int Relation::Symmetric() { int i,j,K=Len-1; for(i=0;i<K;i++) for(j=i+1;j<Len;j++) if(R[i][j]!=R[j][i])return(0); return(1); }; int Relation::IsofA(int x) { for(int i=0;i<Len;i++) if(A[i]==x)return(1); return(0); }; int Relation::IsofR(int x,int y) { int i,j; i=Index(x); j=Index(y); if(i==-1||j==-1||R[i][j]==0)return(0); return(1); }; Relation Relation::UnionA(Relation R1) { int i,j; Relation t; for(i=0;i<Len;i++)[i]=A[i]; =Len; for(j=0;j<;j++) { for(i=0;i<Len;i++) if([i]==[j])break; if(i>=Len)[++]=[j]; }; for(i=0;i<;i++

离散实验报告二 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人rabbitco
  • 文件大小0 KB
  • 时间2016-07-28