- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
1.需求分析 1
1.1问题描述: 1
1.2基本要求: 1
1.3测试数据: 1
2.概要设计 1
2.1.集合的数据类型定义为: 1
2.2.各种函数的功能: 2
3.详细设计 2
4.编码实现 4
5.调试分析 6
5.1程序运行界面如下图: 6
5.2遇到的问题以及解决方法: 7
6.课设总结 7
7.参考文献 8
1.需求分析概要设计1.数据类型定义为:{
int num;
bool hash[30];
}
num为集合的元素个数
hash为利用哈希表,用来储存集合的元素。
2.2.各种函数的功能:
1.void InitSet(Set Res)
操作结果:初始化集合的函数,函数参数为引用类型。
2.Set DealSet(char *s)
初始条件:指针s不为空
操作结果:将字符串处理成集合,生成的集合为函数返回值。
3.void PriSet(Set s)
操作结果:打印集合s。
4.Set Jiao(Set sa,Set sb)
操作结果:实现集合交集的函数,交集为函数返回值。
5.Set Bing(Set sa,Set sb)
操作结果:实现集合并集的函数,并集为函数返回值。
6.Set Cha(Set sa,Set sb)
操作结果:实现集合差的函数,差集为函数的返回值。
7.int main()
操作结果:主函数,调用以上的各函数,实现系统界面的功能。
3.详细设计’a’-‘z’之间,则加入hash数组之中,并将元素个数增加。
3.void PriSet(Set s):
输出集合s,首先输出左花括号’{’,之后使用for循环遍历整个hash数组,如果hash数组的值为真,则说明该集合包含此项元素,输出该元素加空格,之后再输出右花括号’}’。
4.Set Jiao(Set sa,Set sb)
定义两个形参集合sa和sb,遍历两个集合的hash数组,如果两个hash数组的值同时为真,则说明sa和sb集合都含有该元素,则将该元素加入函数之中定义的Res集合,并将Res集合的元素个数加一。在程序最后返回Res集合的值。
5.Set Bing(Set sa,Set sb)
和Jiao()函数类似,同样遍历hash数组,唯一不同的是判断hash数组的语句,只要sa和sb其中有一个的值为真,则加入到Res中。
6.Set Cha(Set sa,Set sb)
同样和Jiao()函数类似,判断语句改为如果sa的hash为真并且sb的hash不为真,则加入到Res中
7.int main()
为设计程序主页面的函数,并且使用了所有的函数。
具体算法流程图为:
4.编码实现
主要的代码为:
#includeiostream
#includecstring
#includecstdlib
#includecstdio
using namespace std;
struct Set //定义集合类型
{
int num;//集合元素个数
bool hash[30];//集合使用哈希表进行保存
}
MySet[10];//集合数组
void InitSet(Set Res)//初始化集合的函数
{
memset(Res.hash,false,sizeof(Res.hash));//把哈希表所有值赋值为false
Res.num=0;//元素个数为0
}
Set DealSet(char *s)//将字符串处理成集合
{
Set Res;//函数返回的集合
InitSet(Res);//初始化集合
for (int i=0;istrlen(s);i++)//遍历整个字符串
{
if (s[i]=a s[i]=z)//在a到z之间,才符合集合元素范围
{
Res.hash[s[i]-a]=true;//加入哈希表
Res.num++;//集合元素增加
}
}
return Res;//函数返回集合
}
void PriSet(Set s)//打印集合
{
if (!s.num)//集合为空,输出为空集
{
cout空集!endl;
return;
}
cout{ ;//不为空,输出所有元素
for (int i=0;i27;i++)
if (s.hash[i]) cout(char)(i+a) ;
cout};
}
Set Jiao(Set sa,Set sb) //实现集合交集的函数
{
Set Res;//返回的集合
Ini
您可能关注的文档
- 手机充电器的模具设计详解.doc
- 南京江宁中等专业学校德育工作督导分析报告.doc
- 手机充电器塑料模具详解.doc
- 手机行业渠道详解.doc
- 第二章财务分析报告.doc
- 手机简单故障维修浅谈详解.doc
- 手机镜头常用光学塑胶zemax玻璃库的设置和材料实用简介详解.doc
- 9(电子商务实践教学大纲)分析报告.doc
- 凤凰小学中期总结2013.7.10分析报告.doc
- 手机纳米镀膜防水设备设备操作说明详解.doc
- 解析天花粉蛋白:从入胞机制到绒毛膜上皮癌细胞凋亡诱导的深度探究.docx
- 油页岩渣在橡胶领域的资源化利用研究:性能、机制与前景.docx
- 从欧盟碳排放权交易法律制度探寻中国碳交易法治完善之路.docx
- 数据赋能:面向智慧城市建设的开放政府数据政策探索.docx
- 邻苯二甲酸二酯孕期复合染毒对大鼠子代睾丸发育的影响及风险评估.docx
- 论婚内财产分割协议的法律规制与实践审视.docx
- 甲状腺素对气道黏蛋白5AC基因表达的影响及其分子调控机制探究.docx
- 揭秘珍珠黄杨开花密码:特性与精准调控策略探究.docx
- 基于学位论文剖析广西高校汉语国际教育硕士培养体系的构建与优化.docx
- 县级地税机关执法风险剖析与防控策略研究.docx
最近下载
- 智算中心及算力产业集群项目运营管理方案.docx VIP
- 2025安徽芜湖市湾沚区招聘社区工作者11人考试备考题库及答案解析.docx VIP
- 锅炉安装改造维修质量保证体系文件(手册+程序文件+表格+工艺文件汇编)-符合TSG 07-2019特种设备质量保证管理体系.docx
- 甲状腺科普宣教.pptx VIP
- 贵州省2025年高职院校分类考试招生中职生文化综合语文试题答案.docx VIP
- 智算中心及算力产业集群项目节能评估报告.docx VIP
- 甲状腺的科普宣教.pptx VIP
- 高考试题——物理(全国卷)云南.doc VIP
- 智算中心建设可行性分析.docx VIP
- 产前筛查实验室标准操作程序文件.pdf VIP
文档评论(0)