资源描述:
《集合运算-离散数学·实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HUNANUNIVERSITY离散数学课程实验报告题目:集合运算学生姓名:学生学号:专业班级:完成日期:一.实验目的1.熟悉集合的交,并,差,对称差和直积等集合运算;2.使用c++语言工具解决集合的运算问题;二.实验内容编写程序实现集合的交,并,差,对称差和直积集合运算三.实验过程算法分析1.集合的交:使用两个字符串数组A和B存储两个集合,依次遍历两个数组,找到相同的元素,就输出该元素,直到两个数组都遍历完毕为止,输出的所有的元素就是这两个集合的交;2.集合的并:依次遍历这两个数组,在第二个数组中,若
2、找到与第一个数组中的某个元素相同的元素时,在第二个数组中删除该元素,最后输出第一个数组和第二个数组的所有元素,得到的结果即集合的并;3.集合的差:遍历数组A和B,在数组A中,若找到与B中某一元素相同的元素,则在数组A中删除该元素,最后一次输出数组A即可;4.集合的对称差:定义一个新的字符串数组C,将A的值全部赋给C(C==A).。遍历数组A和B,若在A中找到与B中某一元素相同的元素,则在A中删除该元素;遍历C与B,若在B中找到与C中某一元素相同的元素,则删除B中的该元素,最后依次遍历输出数组A和B即可
3、;5.集合的直积:从数组A的第一个元素开始,每输出A中的一个元素的同时,对应输出B中所有的元素,中间用<,>连接,直到A中所有元素都输出完毕。最后得到的序列便是A和B的直积流程图实验数据和分析测试数据:请输入第一个集合:ab14请输入第二个集合:bg4两个集合的交为:b4两个集合的并为:ab14g第一个集合-第二个集合为:a1两个集合的对称差为:a1g两个集合的直积为:<1,b><1,g><1,4><4,b><4,g><4,4>按照实验的算法
4、设计程序,实现集合的各种基本运算。实验代码#includeusingnamespacestd;#includevoidfun1(char[],char[]);voidfun2(char[],char[]);voidfun3(char[],char[]);voidfun4(char[],char[]);voidfun5(char[],char[]);voidDelete(char[],intn);intmain(){chara[20],b[20],c;while(
5、1){cin.sync();cout<<"请输入集合一:";gets_s(a);cout<<"请输入集合二:";gets_s(b);cout<<"请选择:";cout<<"A.集合的交B.集合的并C.集合的差D.集合的对称差E.集合的直积F.退出";cin>>c;if(c=='F')return0;cout<<"其结果为:";switch(c){case'A':fun1(a,b);break;case'B':fun2(a,b);break;case'C':fun3(a,b);bre
6、ak;case'D':fun4(a,b);break;case'E':fun5(a,b);break;default:cout<<"输入有误。";break;}cout<