首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明IntSet是一个用于表示正整数集合的类。IntSet的成员函数Intersection的功能是求当前集合与另一个集合的交集。请完成成员函数Intersection。在mai
admin
2019-06-05
55
问题
请使用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文件,并且在本程序中调用。
//Intset.h
#include<iostream>
using namespace std;
const int Max=1 00;
class IntSet
{
public:
IntSet()
//构造一个空集合
{
end=-1;
}
IntSet(int a[],int size)//构造一个包含数组a中size个元素的集合
{
if(Size>=Max)
end=Max-1;
else
end=size-1;
for(int i=0;i<=end;i++)
element
=a
;
}
bool IsMemberOf(int a)
//判断a是否为集合中的一个元素
{
for(int i=0;i<=end;i++)
if(element
==a)
return true;
return false;
}
int GetEnd(){return end;)
//返回最后一个元素的下标
int GetElement(int i){return element
;)
//返回下标为i的元素
IntSet Intersection(IntSet&set);
//求当前集合与集合set的交
void Print()
//输出集合中的所有元素
{
for(int i=0;i<=end;i++)
if((i+1)%20==0)
cout<<element
<<end1;
else
cout<<element
<<’’;
cout<<end1;
}
private:
int element[Max];
int end;
};
void writeTOFile(const char * );
//main.cpp
#include"ntSet.h"
IntSet IntSet∷Intersection
(IntSet&set)
{
int a[Max],size=0;
//********333********
//********666********
return IntSet(a,size);
}
int main()
{
int a[]={1,2,3,5,8,10);
int b[]={2,8,9,11,30,56,67);
IntSet setl (a,6),Set2 (b,7),set3;
cout<<"求交集前:"<<end1;
set1.Print();
set2.Print();
set3.Print();
set3=set1.Intersection(set2);
cout<<end1<<"求交集后:"<<end1;
set1.Print();
set2.Print();
set3.Print();
writeToFile("");
return 0;
}
选项
答案
for(int i=0;i<=set.GetEnd();i++) //遍对象set数组 if(IsMemberOf(set.GetElement(i))) //判断对象set数组第i个值是不是集合中的值,如果是则把它插入到a中 a[size++] =set.GetElement(i);
解析
主要考查考生对数组的掌握,根据IntSet类的构造函数:
IntSet(int a[],int size)
//构造一个包含数组a中size个元素的集合
{
if(size>=Max)
end=Max-1;
else
end=size-1;
for(int i=0,i<=end;i++)
element
=a
;
}
可知数组element用来装载集合,end表示数组长度,因此调用函数IsMemberOf来判断set中的元素是否存在于集合中,如果存在则放人数组a中。
转载请注明原文地址:https://www.kaotiyun.com/show/O18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
C++中将两个字符串连接起来组成一个字符串的函数是______。
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
若有定义语句“intx=10,y=20z=20;”,则表达式x>z&&y=z的值为______。
实体完整性约束要求关系数据库中元组的______属性值不能为空。
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用______方法。
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
随机试题
职业性致癌物包括
患者女,64岁。右侧肢体麻木、无力2周,2天前加重,出现右侧肢体感觉障碍,MRI出现T1低信号,T2高信号,现卧床休息,等待进一步病情稳定。患者可能诊断为
医师开具处方时,除特殊情况外必须注明的是
风险识别的结果是()。
关于可用于抵押和质押的财产的说法,正确的有()。
如何做好物料采购跟单?
《刑法》第347条规定:走私、贩卖、运输、制造毒品,无论数量多少,都应当追究刑事责任,予以刑事处罚。走私、贩卖、运输、制造毒品,有下列情形之一的,处15年有期徒刑、无期徒刑或者死刑,并处没收财产:(一)走私、贩卖、运输、制造鸦片1000克以上、海洛因或者
下列叙述中错误的是()。
有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidPrint()const{cout<<"const:val
货币互换的进行,必须要求两笔资金()。
最新回复
(
0
)