首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
admin
2019-07-10
126
问题
请使用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://www.kaotiyun.com/show/NW8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
语句ofstreamf("SALARY.DAT",ios_base::app);的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且()。
下面程序的运行结果为()。#include<iostream>usingnamespacestd;voidmain(){for(inta=0,x=0;!x&&a<=10;a++);cout
有以下程序:#include<iostream>usingnamespacestd;classsample{private:ihtn;public:
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intx1=0,x2=0,x3=0,x4=0,i;for(i=0;str[i]!=
函数中的形参和调用时的实参都是变量时,参数传递方式为【】。
若Xcs是一个类,该类中具有一个函数体为空的不带参数的构造函数,此构造函数的类外定义为______。
程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。
以下选项中,合法的字符常量是()。
函数fun的功能是将一个数字字符串转换为一个整数,请将函数补充完整。intfun(char*str){inthum=0;while(*str){num*=10;num+=______str++;}
按照标识符的要求,下列选项中,()符号不能组成标识符。
随机试题
(2010.4.单选)1911年,标志辛亥革命达到高潮的起义是()
依据《关于贯彻落实抑制部分行业产能过剩和重复建设引导产业健康发展的通知》,下列措施中不符合提高环保准入门槛、严格建设项目环境影响评价管理要求的是()。
桥面与低水位之间的高差称之为()。
商业银行应向投保人提供完整的合同材料,主要包括()。
人的个性心理差异分为_____和_____。
洪宪帝制
甲为设立蓝天公司,以自己的名义承租乙公司的房屋作为蓝天公司筹备处的办公场所,约定租金2万元,蓝天公司成立后,乙公司对到期未支付的租金()(2019年一专一第23题)
结合材料回答问题:加强和创新社会治理,非常重要的一点就是推动社会治理重心下移。打赢疫情防控阻击战,更需要将防控工作落实到单位社区、居住社区、小区、院落、居民楼、每一个有人群的空间,直到每一户、每个人。在这次疫情防控中,很多地方都把干部派到社区、小
“我不去想是否能够成功,既然选择了远方,便只顾风雨兼程;我不去想能否赢得爱情,既然钟情于玫瑰,就勇敢地吐露真诚。”汪国真的诗,带着上世纪80年代理想主义的味道,或许正可提醒陷入灰色青春的年轻人的是()。
(2012年下半年上午试题49)在对程序语言进行翻译的过程中,常采用一些与之等价的中间代码表示形式。常用的中间代码表示不包括_______。
最新回复
(
0
)