- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
离散数学课程实验报告
题目:集合运算 学生姓名: 学生学号: 专业班级: 完成日期:
实验目的
熟悉集合的交,并,差,对称差和直积等集合运算;
使用C++语言工具解决集合的运算问题;
实验内容 编写程序实现集合的交,并,差,对称差和直积集合运算
三.实验过程
算法分析
集合的交:使用两个字符串数组A和B存储两个集合,依 次遍历两个数组,找到相同的元素,就输出该元素,直到 两个数组都遍历完毕为止,输岀的所有的元素就是这两个 集合的交;
集合的并:依次遍历这两个数组,在第二个数组中,若找 到与第一个数组中的某个元素相同的元素时,在第二个数 组中删除该元素,最后输出第一个数组和第二个数组的所 有元素,得到的结果即集合的并;
集合的差:遍历数组A和B,在数组A中,若找到与B中某 一元素相同的元素,则在数组A中删除该元素,最后一次 输出数组A即可;
集合的对称差:定义一个新的字符串数组C,将A的值全部 赋给C (C二二A)?。遍历数组A和B,若在A中找到与B中 某一元素相同的元素,则在A中删除该元素;遍历C与B, 若在B中找到与C中某一元素相同的元素,则删除B中的 该元素,最后依次遍历输出数组A和B即可;
集合的直积:从数组A的第一个元素开始,每输出A中的 一个元素的同时,对应输出B中所有的元素,中间用〈,〉连 接,直到A中所有元素都输出完毕。最后得到的序列便是A 和B的直积
流程图1=0 j=0ointNum?jcPoinrNum?Y输人屯皿 :输人bfildFunl(a,b);Fun2(atbi;
流程图
1=0 j=0
ointNum?
jcPoinrNum?
Y
输人屯皿 :输人bfild
Funl(a,b);
Fun2(atbi;
Fun:3(cvW;
Fun^arb); FunS(qb)
Z1Z
厂
1
1
实验数据和分析
测试数据:
请输入第一个集合:
a b 1 4
请输入第二个集合:
b g 4
两个集合的交为:b 4
两个集合的并为:a b 1 4 g
第一个集合-第二个集合为:a 1
两个集合的对称差为:a 1 g
两个集合的直积为:a, b a, g a, 4 b, b b, g b, 4
l,b l,g 1,4 4, b 4, g 4, 4
按照实验的算法设计程序,实现集合的各种基本运算。
实验代码
#includciostrcam〉 using namespace std;
#includcstdlib.h
char[]) chart]) char []) char []) char[])void funl(char[], void fun2(char[], void fun3 (char[], void fim4 (char[], void fun5(char[], void Del etc (cha讥],i nt n) int main ()
char[]) chart]) char []) char []) char[])
char a[20], b[20], c;
while (1)
cin. sync();
cout ? 〃请输入集合一:\nz,;
gets_s(a);
cout 请输入集合二:\n〃; gets_s (b);
cout ? 请选择:\n〃;
C?集合的差 D.集合的cout ? A.集合的交 B.集合的并 对称差 E.集合的直积
C?集合的差 D.集合的
cin c;
if (c 二二’F) return 0; cout ? 〃其结果为:\n〃; switch (c) case A:funi (a, b) ; break;
break; break; break; break;casc,B : fun2 (a, b) case5 C : fun3 (a, b) case D : fun4 (a, b) case E‘ : fun5 (a, b)
break; break; break; break;
default:cout
〃输入有误。〃
cout endl; }
};
void
[
Delet(
3(char a[], int n)
int
si =
strlen(a);
for
f
(int
i 二 n; i 〈 sl-1; i++)
t
a[i]
=a[i + 1];
};
a.[s^
1 - 1]
二\0;
};
void funl(char a[], char b[])
{
int si 二 strlen(a);
int s2 = strlen(b);
int i 二 0, j二0;
for (i =
{
0; i si; i++)
for
(j = 0; j s2; j++)
{
if (a[i] == b[j])
cout 〈〈 a[i]〈〈
您可能关注的文档
最近下载
- 职业技能大赛-电池制造工职业技能竞赛理论知识题库(附参考答案).docx
- 走近苏东坡ppt.ppt VIP
- 第1课时 水果店 课件 2025北师版数学三年级上册.ppt
- 2024年客户服务管理员(三级高级工)技能鉴定考试题库-上(单选、多选题汇总).docx VIP
- 失落的一角(精美版绘本).ppt VIP
- 1.1中华人民共和国成立前各种政治力量 课件(共25张ppt)(含音频+视频).pptx VIP
- 可能性(说课课件)四年级上册数学苏教版.ppt
- 计量器具、仪器日常使用点检表.xls VIP
- 食谱编制—食谱编制案例分析(食品营养与配餐课件).pptx VIP
- 2025上半年国内影视剧市场分析.pptx VIP
文档评论(0)