1 / 11
文档名称:

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

格式:doc   大小:163KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:63229029 2017/1/26 文件大小:163 KB

下载得到文件列表

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

文档介绍

文档介绍:离散数学实验报告专业班级: 12 级计算机本部一班姓名:鲍佳珍学号: 2012********** 实验成绩: 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的子集。以下每一个运算都要求先将集合 C置成空集。(2)二个集合的交运算: A ?B={x|x ?A且x ?B} 把数组 A中元素逐一与数组 B中的元素进行比较,将相同的元素放在数组 C 中,数组 C便是集合 A和集合 B的交。 C语言算法: for(i=0;i<m;i++) for(j=0;j<n;j++) if(a[i]= =b[j]) c[k++]=a[i]; (3)二个集合的并运算: A ?B={x|x ?A或x ?B} 把数组 A中各个元素先保存在数组 C中。将数组 B中的元素逐一与数组 A中的元素进行比较,把不相同的元素添加到数组 C中,数组 C便是集合 A和集合 B 的并。 C语言算法: for(i=0;i<m;i++) c[i]=a[i]; for(i=0;i<n;i++) { for(j=0;j<m;j++) if(b[i]= =c[j]) break; if(j= =m){ c[m+k]=b[i];k++;} }(4)二个集合的差运算: A-B={x|x ?A且x ?B} 将数组 A中的元素逐一与数组 B中的元素进行比较,把数组 A与数组 B不同的元素保存在数组 C中,数组 C便是集合 A和集合 B的差 A-B 。 C语言算法: for (j=0;j<m;j++) {for (i=0;i<n;i++) {if(A[j]= =B[i]) {C[k]=A[j]; k++; break; }if(j= =n){C[k]=A[i]; k++; }} (5)集合的补运算: ~A=B-A={x|x ?B且x ?A} 将数组 E中的元素逐一与数组 A中的元素进行比较,把不相同的元素保存到数组 C中,数组 C便是集合 A关于集合 E的补集。求补集是一种特殊的集合差运算。 C语言算法: k=0; for (i=0;i<M;i++) {for (j=0;j<N;j++) {if(B[i]= =A[j]) break; }if(j==N) {C[k]= B[i]; k++; } 6. 【源程序(带注释)】#include<> int main(){ int a[80],b[80],c[80],e[80]; 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",&a[0]); for(i=1;i<m;i++){ scanf("%d",&a[i]); for(j=0;j<i;j++) if(a[i]==a[j]){ printf("# 您的输入有误! 集合中的元素不能相同! \n"); printf("# 请重新输入: "); for(i=0;i<m;i++) scanf("%d",&a[i]); } // 判断数组内是否存在重复的数字,若有,能重新输入} printf("# 请输入您要输入的 B 数组内存放的数字的数目: "); scanf("%d",&n); printf("# 请输入集合 B 中的元素: "); scanf("%d",&b[0]); for(i=1;i<n;i++){ scanf("%d",&b[i]); for(j=0;j<i;j++) if(b[i]==b[j]){ printf("# 您的输入有误! 集合中的元素不能相同! \n"); printf("# 请 重新输入: "); // 重新输入集合 B for(i=0;i<n;i++) scanf("%d",&b[i]); }} printf("# 请输入您要输入的 E 数组内存放的数字的数目: "); // 输入 B 集合的元素数 scanf("%d",&o); printf("# 请输入集合 E 中的元素: "); sca

最近更新

2025年桥架安装规范 11页

2025年药酒项目可行性分析报告 6页

2025年苏州中鑫新能源有限公司 企业报告(业主.. 17页

2025年自考毕业自我鉴定(精选6篇) 7页

2025年机械制造企业食堂管理办法 10页

2025年纺织面料涂层行业市场调研报告 5页

趣味英语知识竞赛 23页

2025年管理会计经典作业 11页

2025年立体停车项目策划书3篇 8页

2025年异佛尔酮项目合作计划书 69页

小学教师招聘-2019年教师招聘考试《小学语文》.. 10页

2025年抗抑郁药项目建议书 58页

2025年暑期香港医疗交流体验项目总结报告 7页

红铃铛社区青少年心理援助中心工作方案 7页

2025年昆明测量方案 10页

2025年一级注册建筑师之建筑结构考试题库含答.. 137页

2025年一级注册建筑师之建筑结构考试题库附完.. 136页

毕业设计设计水泵连接座零件的机械加工工艺规.. 20页

2025年公用设备工程师之专业案例(动力专业).. 35页

2025年县乡教师选调考试《教师职业道德》题库.. 50页

2025年县乡教师选调考试《教师职业道德》题库.. 53页

2025年咨询工程师(经济政策)考试题库含完整.. 63页

2025年国家电网招聘之电网计算机考试题库及参.. 159页

2025年江苏电子信息职业学院单招职业适应性测.. 74页

巧用数列方法处理分期付款问题 2页

2024 年各专业质控工作改进目标 4页

露天煤矿安全技术措施 10页

2024年金钥匙科技竞赛试题及答案 23页

2024年黑龙江省哈尔滨市中考数学试卷(解析版).. 27页

如何当好一名教研组长PPT讲座 31页