首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类IntegerSet和主函数main的定义。一个IntegerSet对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类IntegerSet和主函数main的定义。一个IntegerSet对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员
admin
2021-09-05
38
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类IntegerSet和主函数main的定义。一个IntegerSet对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员数组elem的前若干单元中。成员函数add的作用是将一个元素添加到集合中(如果集合中不存在该元素),成员函数remove从集合中删除指定的元素(如果集合中存在该元素)。请编写成员函数remove。在main函数中给出了一组测试数据,此时程序的正确输出结果应为:
2 3 4 5 27 28 31 66 75
2 3 4 5 6 27 28 31 66 75
2 3 4 5 6 19 27 28 31 66 75
3 4 5 6 19 27 28 31 66 75
3 4 5 6 19 27 28 31 66 75
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。
//IntegorSet,h
#i fndef INTEGERSET
#de fine INTEGERSET
#inClude
using namespace std;
const int MAXELEMENTS=100;
//集合最多可拥有的元素个数
class IntegerSet{
int elem[MAXELEMENTS];
//用于存放集合元素的数组
int counter;
//用于记录集合中元素个数的计数器
public:
IntegerSet():counter(0)(}
//创建一个空集合
IntegerSet(int data[],int size);
//利用数组提供的数据创建一个整数集合
void add(int element);
//添加一个元素到集合中
void remove(int element);
//删除集合中指定的元素
int getCount()const{return counter;)
//返回集合中元素的个数
int getElement(int i)const{return
elem
;)//返回集合中指定的元素
void show()const;
};
void WriteToFile(char*);
#endif
//main.cpp
#include”IntegerSet.h”
#include
IntegerSet::IntegerSet(int data[],
int Size):counter(0){
for(int i=0;i
add(data
);
}
void IntegerSet::add(int element){
int j;
//从后往前寻找第一个小于等于element的元素
for(j=counter;j>0;j一一)
if(element>=elem[j—1])break;
//如果找到的是等于element的元素,说明要添加的元素已经存在,直接返回
if(j>0)
if(element==elem[j一1])return;
//如果找到的是小于element的元素,j就是要添加的位置
//该元素及其后面的元素依次后移,腾出插入位置
for(int k=counter;k>j;k一一)
elem[k]=elem[k—1];
elem[j]=element;
//将element插入到该位置
counter++; //计数器加1
}
void IntegerSet::remove(int ele。
ment){
//********333********
//********666********
}
void IntegerSet::show()const{
for(int i=0;i
cout<
cout<
}
int main(){
int d[]={5,28,2,4,5,3,2,75,27,66,31};
IntegerSet S(d,11); s.show();
S.add(6); S.show();
S.add(19); S.show();
S.remove(2); S.show();
S.add(4); S.show();
WriteToFile(””);
return 0;
}
选项
答案
for(int i=0;i
解析
主要考查考生对有序数组的掌握,题目要求成员函数remove从集合中删除指定的元素(如果集合中存在该元素)。遍历数组elem中的元素,找出与形参element相等的元素,并将其删除,每删除一个元素,即将该元素之后的每个元素前移一位,如果不存在与形参element相等的元素则没有操作。使用下标i遍历数组,if语句判断是否与element相等。
转载请注明原文地址:https://kaotiyun.com/show/Idfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为()。
有如下两个类定义:classAA{);classBB{AAvl,*v2;BBv3:int*v4;);其中有一个成员变量的定义是错误的,这个变量是()。
有如下程序:#includeusingnamespacestd;classTV{public:TV(ints=41):size(s){}
有如下类声明:classHow{intk;public:How(intn):k(n){}How(How&h):k(h.k){}};则类H
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是:(1)如果字符串最后面有空格,则全部删除:(2)转换后的数据放到de
在数据库管理技术的发展中,数据独立性最高的是()。
分析下面程序,该程序的运行结果是()。#inc1ude<iostream.h>c1assTestClass{public:staticintm,TesK:lass(){
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.epp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:Hel
软件生命周期是指()。
面向对象方法中,继承是指
随机试题
下列关于婚姻家庭法与民事诉讼法的关系的说法,正确的是()
肝区叩击痛阳性见于下列哪种疾病()
根据《建设工程质量管理条例》,勘察单位提供的地质、测量、水文等勘察成果必须具备的特征是()
按《建筑抗震设计规范》(GB50011—2001),地震影响系数曲线的峰值与下列()有关。
案例三[背景材料]某大厦工程项目,建设单位与施工单位根据《建设工程施工合同文本》签订了工程的总.承包施工合同,总承包商将该大厦工程项目的装饰装修工程合同分包给一家具有相应资质条件的某装饰装修工程公司。该装饰装修工程公司与该工程项目建设单位签
在海关放行前遭受损失的货物可根据海关认定的受损程度减征关税。
下列关于依法治国正确的是()①要有法可依、有法必依、执法必严、违法必究②公民要学法、懂法、守法、用法③政府及其工作人员要依法行政④依法治国是实现社会主义现代化,实现国家长治久安的要求
(2012年第37题)结合材料回答问题:“新年不欠旧年账,今生不欠来生债”,这是孙东林和哥哥孙水林的共同准则。1989年,孙东林与哥哥孙水林一同组建起建筑队伍,开始在北京、河南等地承接建筑工程和装饰工程。此后的20年中,无论遇到什么状况,孙东林从
增强现实是一门新兴的前沿技术,简称为(37)________________。增强现实(38)________________。其(39)________________技术保证虚拟空间坐标系和真实环境空间坐标系无缝融合。Milgram将增强现实和增强虚拟
Undergroundticketsareavailableatallundergroundstations.Ticketspricesfortheundergroundvary【B1】______tothedistance
最新回复
(
0
)