for(i=0;i } printf(\ printf(\关系R的自反闭包的关系矩形:\\n\ for(i=0;i for(j=0;j printf(\ } else printf(\ } printf(\ } return 0; } 运 算 结 果 截 : 图 4. 由用户输入集合A和集合A上的某一关系R的关系矩阵,计算关系R的对称闭包的关系矩阵。提示:假设关系R是集合A={a1, a2, ?, an}上的关系,则R的对称闭包s(R)= R∪R-1,其中R-1表示R的逆关系。利用关系矩阵MR=(aij)来存储关系R,那么对称闭包s(R)的矩阵Ms=MR+MR-1,这里+运算为逻辑加运算,即析取∨。 源代码:#include int n,i,j; printf(\请输入集合A的元素个数:\scanf(\int A[n],R[n][n]; printf(\请输入集合元素:\for(i=0;i printf(\输入关系R的真假值:\\n\for(i=0;i printf(\集合A上的某一关系R的关系矩形:\\n\ for(i=0;i 算 结 果 截 图 : { } printf(\ printf(\关系R的对称闭包的关系矩形:\\n\for(i=0;i for(j=0;j printf(\return 0; if(R[i][j]==1) printf(\ R[j][i]=1; for(j=0;j } } 5. 由用户输入集合A和集合A上的某一关系R的关系矩阵,计算关系R的传递闭包的关系矩阵。提示:假设关系R是集合A={a1, a2, ?, an}上的关系,则R的传递闭包t(R)= R∪R2∪…∪Rn。 利用关系矩阵MR=(aij)来存储关系R,那么利用Warshall算法可以求得其传递闭包t(R)的矩阵Mt。(本题选做,Warshall算法参考教材) 源代码:#include int n,i,j,l,k,a[4]; printf(\请输入集合A的元素个数:\scanf(\ int A[n],R[n][n],T[n][n],K[n][n],L[n][n]; printf(\请输入集合元素:\for(i=0;i printf(\输入关系R的真假值:\\n\for(i=0;i printf(\集合A上的某一关系R的关系矩形:\\n\{ } printf(\ printf(\关系R的传递闭包的关系矩形:\\n\for(j=0;j for(i=0;i for(i=0;i for(i=0;i for(j=0;j if(T[i][j]==1) R[i][j]=1; for(l=0;l for(j=0;j if(R[i][j]&&R[j][l]) { a[k]=1; k++; } else { a[k]=0; k++; } if(a[0]||a[1]||a[2]||a[3]) T[i][l]=1; else T[i][l]=0; } } for(i=0;i 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验3 关系运算设计(c语言编程)(2)在线全文阅读。
相关推荐: