离散数学集合运算C或C语言实验报告

上传人:痛*** 文档编号:136403393 上传时间:2022-08-16 格式:DOC 页数:11 大小:163KB
收藏 版权申诉 举报 下载
离散数学集合运算C或C语言实验报告_第1页
第1页 / 共11页
离散数学集合运算C或C语言实验报告_第2页
第2页 / 共11页
离散数学集合运算C或C语言实验报告_第3页
第3页 / 共11页
资源描述:

《离散数学集合运算C或C语言实验报告》由会员分享,可在线阅读,更多相关《离散数学集合运算C或C语言实验报告(11页珍藏版)》请在装配图网上搜索。

1、离散数学实验报告专业班级:12级计算机本部一班 姓名:鲍佳珍 学号: 201212201401016 实验成绩:1【实验题目】命题逻辑实验四2【实验目的】 掌握用计算机求集合的交、并、差和补运算的方法。3【实验内容】编程实现集合的交、并、差和补运算。4、【实验要求】C或C语言编程实现5. 【算法描述】(1)用数组A,B,C,E表示集合。假定A=1,3,4,5,6,7,9,10,B=2,,3,4,7,8,10, E=1,2,3,4,5,6,7,8,9,10,输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。以下每一个运算都要求先将

2、集合C置成空集。(2)二个集合的交运算:AB=x|xA且xB把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C中,数组C便是集合A和集合B的交。C语言算法:for(i=0;im;i+)for(j=0;jn;j+)if(ai= =bj) ck+=ai;(3)二个集合的并运算:AB=x|xA或xB把数组A中各个元素先保存在数组C中。将数组B中的元素逐一与数组A中的元素进行比较,把不相同的元素添加到数组C中,数组C便是集合A和集合B的并。C语言算法:for(i=0;im;i+)ci=ai;for(i=0;in;i+)for(j=0;jm;j+)if(bi= =cj) break;if

3、(j= =m) cm+k=bi;k+;(4)二个集合的差运算:A-B=x|xA且xB将数组A中的元素逐一与数组B中的元素进行比较,把数组A与数组B不同的元素保存在数组C中,数组C便是集合A和集合B的差A-B。C语言算法:for (j=0;jm;j+)for (i=0;in;i+)if (Aj= =Bi)Ck=Aj;k+;break;if (j= =n) Ck=Ai; k+;(5)集合的补运算: A=B-A=x|xB且xA将数组E中的元素逐一与数组A中的元素进行比较,把不相同的元素保存到数组C中,数组C便是集合A关于集合E的补集。求补集是一种特殊的集合差运算。C语言算法:k=0;for (i=0

4、;iM;i+)for (j=0;jN;j+)if (Bi= =Aj)break; if (j=N)Ck=Bi; k+;6. 【源程序(带注释)】#includeint main()int a80,b80,c80,e80;int m,n,k,l,i,j,p,q,o;l=1;while(l)printf( #欢迎使用集合运算软件#n);printf(#请输入您要输入的A数组内存放的数字的数目:);scanf(%d,&m); /输入一个数组内需要存放的数字的数目printf(#请输入集合A中的元素:);scanf(%d,&a0);for(i=1;im;i+)scanf(%d,&ai);for(j=0

5、;ji;j+)if(ai=aj)printf(#您的输入有误!集合中的元素不能相同!n);printf(#请重新输入:); for(i=0;im;i+)scanf(%d,&ai); /判断数组内是否存在重复的数字,若有,能重新输入printf(#请输入您要输入的B数组内存放的数字的数目:);scanf(%d,&n);printf(#请输入集合B中的元素:);scanf(%d,&b0);for(i=1;in;i+)scanf(%d,&bi);for(j=0;ji;j+)if(bi=bj)printf(#您的输入有误!集合中的元素不能相同!n);printf(#请重新输入:); /重新输入集合Bf

6、or(i=0;in;i+)scanf(%d,&bi);printf(#请输入您要输入的E数组内存放的数字的数目:); /输入B集合的元素数scanf(%d,&o);printf(#请输入集合E中的元素:);scanf(%d,&e0);for(i=1;io;i+)scanf(%d,&ei);for(j=0;ji;j+)if(ei=ej)printf(#您的输入有误!集合中的元素不能相同!n);printf(#请重新输入:); /重新输入集合Efor(i=0;io;i+)scanf(%d,&ei);k=0;for(i=0;im;i+)for(j=0;jn;j+)if(ai=bj)ck+=ai;p=

7、k;printf(#A数组与B数组的交集为);for(k=0;kp;k+)printf(%d ,ck);printf(n); /交集的代码k=0;for(q=0;qp;q+)cq=0; /将C数组置空for(i=0;im;i+)ck=ai;k+; for(i=0;in;i+)for(j=0;jk;j+)if(bi=cj) break;if(j=k-1)ck=bi;k+; /并集的代码p=k; /确定C数组当前的数目,便于下一次置空printf(#A数组与B数组的并集为);for(k=0;kp;k+)printf(%d ,ck);printf(n);k=0;for(q=0;qp;q+)cq=0;

8、for(j=0;jm;j+)for (i=0;in;i+)if (aj=bi)break;if(j=n-1) ck=ai;k+; /差运算的代码p=k;printf(#A数组与B数组的差运算集为);for(k=0;kp;k+)printf(%d ,ck);printf(n);k=0;for(q=0;qp;q+)cq=0;for (i=0;io;i+)for (j=0;jm;j+)if (ei=aj)break; if (j=m-1)ck=ei;k+; /补运算的代码p=k;printf(#A数组与B数组的补运算集为);for(k=0;kp;k+)printf(%d ,ck);printf(nn);printf(#您是否还想继续计算。是请输入1,否请输入0n);scanf(%d,&l); /while语句判断是否继续printf(nn欢迎使用,再见!n);return 0;7 【实验结果与分析总结(含运行结果截图)】输入界面输入各数组并输出结果是否继续查找继续查找,数组重复并重新输入结束使用

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!