网站大量收购独家精品文档,联系QQ:2885784924

程序设计课程——集合.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计题目 (一)集合的运算:交、并、补(难度系数:1.1) 全集:大写字母 ‘A’~’Z’ 要求实现以下功能: 1、集合的输入:自动去掉重复和非法的字符 2、集合的显示:输出集合的全部元素 3、输出一个给定集合的补集 4、输出两个给定集合的交集和并集 #includeiostream #includestring using namespace std; class jihe {//类集合jihe的定义 private: char *yuansu; //集合的元素值,以字符指针表示 int geshu; //集合中元素个数 bool biaoshi[26]; //标识A-Z相关元素的使用情况,false表未用,即无此元素,true表已用,即有此元素 public: jihe() {//无参构造函数,实现初始化///无参构造函数是自己定义的构造函数,只是构造函数是没有参数的,不用向函数传递数值或地址 yuansu=\0;///???——这个是字符串,字符串结尾用\0来标识,也是初始化字符串,初始化后字符串为空 geshu=0; for(int i=0;i26;i++) { biaoshi[i]=false; } } jihe(char *ch) {//有参构造函数,以一个字符指针指向的值作为参数,实现初始化 int i; geshu=0; for(i=0;i26;i++) biaoshi[i]=false; int len=strlen(ch);///测算ch字符串的长度 赋值到length变量里面 yuansu =new char[27]; for(i=0;ilen;i++) { if(ch[i]=A ch[i]=Z biaoshi[ch[i]-A]!=true)///???————判断字符串里面的数要在A-Z之间,ch[i]-A是获取该元素的数组下标(A的下标是0),如果该元素不存在集合里(即biaoshi[下标]!=true),则执行以下内容 { yuansu[geshu]=ch[i];///???——geshu的初始化为0,这是把符合要求的元素放进到yuansu数组里面,ch[i]只是一个字符串,在你执行这个函数的时候已经输入进去了 biaoshi[ch[i]-A]=true; geshu++; } } yuansu[geshu]=\0; } void shuru() {//输入集合中的全部元素,并去除不符合要求及重复的元素 char t; yuansu=new char[27]; cout请输入一集合的所有元素(A-Z),以$结束:; cint; while(t!=$) { if(t=A t=Z biaoshi[t-A]!=true)///?——跟上面的解释一样,只是这里的ch[i]换成t了,为什么上面这个jihe的构造函数和下面的shuru构造函数内容基本相同呢?原因是上面jihe的函数是实现把所有元素都清空,实现初始化,下面的函数要自己一个个把元素从键盘上输入进去 { yuansu[geshu]=t;///? biaoshi[t-A]=true;///? geshu++; } cint; } yuansu[geshu]=\0;/// } char *ys()///?有什么作用,为什么要返回?///点解要在这个位置返回?————因为这是一个类,这些元素都在类里面,是私有的private:char *yuansu; int geshu; bool biaoshi[26];开头定义了这些,所以不能够从外面直接访问,而是同过public的构造函数去访问这些数据 {//返回集合中的元素 return yuansu; } bool *bs()///? {//返回标识 return biaoshi; } int gs()///? {//返回个数 return geshu; } jihe* buji() {//求补集,返回一个jihe对象///体5明,如何起到求补集作用? char *temp=new char[27]; int j=0; for(int i=0;i26;i++) { if(biaoshi[i]==false) { temp[j]=A+i;///有咩作用,加了等于没加 j++; } } temp[j]=\0; return new jihe(tem

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档