实验3 关系运算设计(c语言编程) 下载本文

内容发布更新时间 : 2024/12/27 9:33:18星期一 下面是文章的全部内容请认真阅读。

.

实验3 关系运算设计

一、实验目的

熟悉笛卡儿积、关系复合运算、关系的自反闭包、对称闭包和传递闭包的概念,并编程设计求其运算。

二、实验内容

1.由用户输入两个集合A和B,计算A与B的笛卡尔积。提示:根据笛卡儿积的定义,只需将集合A的各个元素与集合B的各个元素进行配对即可。集合A、B可用一维数组表示,要求配对后的结果用有序对的集合的形式输出。 源代码:#include int main() {

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 main() {

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范文