首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
admin
2019-07-10
89
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在main函数中给出了一组测试数据,此时程序的输出应该是:
求交集前:
1 2 3 5 8 10
2 8 9 11 30 56 67
求交集后:
1 2 3 5 8 10
2 8 9 11 30 56 67
2 8
要求:
补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
1 //Intset.h
2 #include
3 using namespace std;
4
5 const int Max=100;
6 Class IntSet
7 {
8 publiC:
9 IntSet()
10 //构造一个空集合
11 {
12 end=-1;
13 }
14 IntSet(int a[],int si ze)//构造一个包含数组a中size个元素的集合
15 {
16 if(Size>=Max)
17 end=Max-1;
18 else
19 end=size-1;
20 for(int i=0;i<=end;i++)
21 element
=a
;
22 }
23 bool IsMemberOf(int a)
24 //判断a是否为集合中的一个元素
25 {
26 for(int i=0;i<=end;i++)
27 if(element
==a)
28 return true;
29 return false;
30 }
31 int GetEnd(){return end;}
32 //返回最后一个元素的下标
33 int GetElement(int i)(return ele-ment
;}
34 //返回下标为i的元素
35 IntSet Intersection(IntSet&set);
36 //求当前集合与集合set的交
37 void Print()
38 //输出集合中的所有元素
39 {
40 for(int i=0;i<=end;i++)
4l if((i+1)%20==0)
42 cout<
<
43 else
44 cout<
<<’ ’;
45 cout<
46 }
47 private:
48 int element[Max];
49 int end;
50 };
51 void writeToFile(const char*};
1 //main.cpp
2 #include"IntSet.h"
3 IntSet工ntSet::Intersection(IntSet&set)
4 {
5 int a[Max],size=0;
6 //********333********
7
8
9 //********666********
10 return IntSet(a,size);
11 }
12
13 int main()
14 {
15 int a[]={1,2,3,5,8,10};
16 int b[]={2,8,9,11,30,56,67};
17 IntSet setl(a,6),set2(b,7),set3;
18 cout<<"求交集前:"<
19 set1.Print();
20 set2.Print();
21 set3.Print();
22 set3=set1.Intersection(set2);
23 cout<
24 set1.Print();
25 set2.Print();
26 set3.Print();
27 writeToFile(””);
28 return 0;
29 }
选项
答案
1 for(int i=0;i<=set.GetEnd();i++) //遍对象set数组 2 if(IsMemberOf(set.GetElement(i))) //判断对象Set数组第i个值是不是集合中的值,如果是则把它插入到a中 3 a[size++]=set.GetElement(i);
解析
主要考查考生对数组的掌握,根据IntSet类的构造函数:
IntSet(int a[],int size)
//构造一个包含数组a中size个元素的集合
l {
2 if(size>=Max)
3 end=Max-1;
4 e1se
5 end=size-1;
6 for(int i=0;i<=end;i++)
7 element
=a
;
8 }
可知数组element用来装载集合,end表示数组长度,因此调用函数IsMemberOf来判断set中的元素是否存在于集合中,如果存在则放人数组a中。
转载请注明原文地址:https://kaotiyun.com/show/NW8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(6);cout.fill(
假定A为一个类,则语句A(A&A);为该类【】函数的原型说明。
下面程序的运算结果为()。#include<iostream>usingnamespace~td;inti;intfun(){staticinti=10;return++i;
对具有n个结点的线性表进行顺序查找,最坏情况下需要的比较次数为【 】。
有如下函数模板定义: template<typename T1,int a2,int a3> T1 fun(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是( )。
下列有关内联函数的叙述中,正确的是()。
已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为 i-1的单元,其中1≤i<n。例如,当n=4,a中原有数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:for(int i=0;i<n-1;i++)
下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。#include<iostream.h>#inelude<iomanip,h>template<classT>classArray{
将一个函数声明为一个类的友元函数必须使用关键字【】。
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
甲说:“尽管政府努力通过积极的就业政策和开展全面创业活动降低失业率,但是这一计划仍然失败了,因为在本市实施一年后失业率并没有什么变化。”乙说:“但是在计划开始的最初一段时间,本地的失业率是有降低的,该计划还是有帮助的。”以下哪项为真,最能削弱乙的
A.奇脉B.交替脉C.水冲脉D.短绌脉提示房颤
在人体抵抗力降低时,原本不致病的菌群变成致病菌,引起的感染是
患者,男,39岁。因大面积银汞合金充填要求冠修复。查:大面积银汞补,补物完好,不松动。x线牙片显示:根管治疗良好。拟为该患者行铸造全冠修复铸造全冠预备时,轴壁正常聚合角度一般为
王大爷于2004年6月死亡,留有遗产“房屋、存款”等。王大爷一共有四个子女甲、乙、丙、丁,其中甲是养子女。甲只有一个儿子王超,王超只有一个女儿王小超。丁有一个亲生的女儿吴蕾、养女吴丽和由其抚养长大的继子吴宇。甲于1999年1月因病死亡,王超因下落不明法院依
商品流通企业核心竞争力的基础是()。
甲公司以一批库存商品交换乙公司一幢房产,该商品的成本为1000万元,已计提跌价准备200万元,增值税率为17%,消费税率为5%,该商品的计税价格为1500万元;乙公司房产原价为1600万元,累计折旧600万元,已提减值准备30万元,计税价格为2000万元,
河北省河流众多,长度在18公里以上1000公里以下者就达300多条。境内河流大都发源或流经燕山、冀北山地和太行山山区,其下游有的合流入海,有的单独人海,还有因地形流入湖泊不外流者。主要河流从南到北依次有漳卫南运河、子牙河、大清河、永定河、潮白河、蓟运河、滦
【B1】【B6】
WATERANDLIFEONMARS1Thepresenceorabsenceofwaterhasadirectbearingonthepossibilityoflifeonotherplanets.In
最新回复
(
0
)