.
实验3 关系运算设计
一、实验目的
熟悉笛卡儿积、关系复合运算、关系的自反闭包、对称闭包和传递闭包的概念,并编程设计求其运算。
二、实验内容
1.由用户输入两个集合A和B,计算A与B的笛卡尔积。提示:根据笛卡儿积的定义,只需将集合A的各个元素与集合B的各个元素进行配对即可。集合A、B可用一维数组表示,要求配对后的结果用有序对的集合的形式输出。 源代码:#include
int a[80],b[80],i,j,k,l; printf(\输入a,b的元素个数:\\n\ scanf(\ printf(\输入a的元素:\\n\ for(k=0;k
word范文
.
printf(\的笛卡尔积:\ for(k=0;k
printf(\ return 0; } 运
算
结
果
截
图
:
2.由用户输入两个关系R和T的关系矩阵,计算关系R和T复合运算后得到的关系的关系矩阵。提示: 利用关系矩阵MR=(aij), MT=(bij)来存储关系R和T,那么它们的复合运算就是两个关系矩阵的布尔积,其运算类似于线性代数中矩阵的乘法,区别是用合取“∧”代替线性代数矩阵运算中的乘法,用析取“∨”代替线性代数矩阵运算中的加
word范文
.
法。
源代码:#include
int i,j,k,l;
int R[4][4]={0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0},a[4]; int T[4][4]={0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0},F[4][4]; printf(\关系R的关系矩形:\\n\ for(i=0;i<4;i++) {
for(j=0;j<4;j++) printf(\ printf(\ }printf(\
printf(\关系T的关系矩形:\\n\ for(i=0;i<4;i++) {
for(j=0;j<4;j++) printf(\ printf(\ }
printf(\
printf(\关系R和关系T的复合运算得到的关系的关系矩形:\\n\
for(i=0;i<4;i++) {
for(l=0;l<4;l++) { k=0;
for(j=0;j<4;j++) if(R[i][j]&&T[j][l]) {
word范文