首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数
admin
2016-08-19
39
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数remove的作用是从集合中删除指定的元素(如果集合中存在该元素),成员函数sort的作用是将集合中的整数按升序进行排序。请编写这个sort函数。此程序的正确输出结果应为:
5 28 2 4 5 3 2 75 27 66 31
5 28 2 4 5 3 2 75 27 66 31 6
5 28 2 4 5 3 2 75 27 66 3l 6 19
5 28 4 5 3 2 75 27 66 31 6 19
5 28 4 5 3 2 75 27 66 31 6 19 4
2 3 4 4 5 5 6 19 27 28 31 66 75
要求:
补充编制的内容写在“//********333********”与“//********666********”之间。不得修改程序的其他部分。
注意:相关文件包括:main.cpp、Integers.h。
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。
1 //Integers.h
2 #ifndef INTEGERS
3 #define INTEGERS
4
5 #include
6 using namespace std;
7
8 const int MAXELEMENTS=100;
9 //集合最多可拥有的元素个数
10
11 class Integers{
12 int elem[MAXELEMENTS];
13 //用于存放集合元素的数组
14 int counter;
15 //用于记录集合中元素个数的计数器
16 public:
17 Integers():counter(0){}
18i //创建一个空集合
19 Integers(int data[],int size);
20 //利用数组提供的数据创建一个整数集合
21 void add(int element);
22 //添加一个元素到集合中
23 void remove(int element);
24 //删除集合中指定的元素
25 int getCount()const{return count-er;}
26 //返回集合中元素的个数
27 int getElement(int i)const{return elem
;)
28 //返回集合中指定的元素
29 void sort();
30 //8集合中的整数按由小到大的次序进行排序
31 void show()const;
32 //显示集合中的全部元素
33 };
34 void writeToFile(const char*path);
35 #endif
1 //main.cpp
2 #include"Integers.h"
3 #include
4
5 Integers::Integers(int data[],int size):counter(0){
6 for(int i=0;i
);
7 }
8
9 void Integers::add(int element){
10 if(counter
11 elem[counter++]=element;
12 }
13
14 void Integers::remove(int element){
15 int j;
16 for(j=counter-1;j>=0;j--)
17 if(elem[j]==element)break;
18 for(int i=j;i
19 elem
=elem[i+1];
20 counter--;
21 }
22
23 void Integers::sort(){
24 //********333********
25 //********666********
26 }
27
28 void Integers::show()const{
29 for(int i=0;i
30 cout<
31 cout<
32 }
33 int main(){
34 int d[]={5,28,2,4,5,3,2,75,27,66,31);
35 Integers S(d,11);s.show();
36 s.add(6); s.show();
37 s.add(1 9); s.show();
38 s.remove(2); s.show();
39 s.add(4); s.show();
40 s.SOrt(); s.show();
41 writeToFile(" ");
42 return 0;
43 }
选项
答案
1 for(int i=0;i
i ; j--) //从最后一位到i到前一位遍历elem 3 if(elem[i]>elem[j])//如果elem[i]大于elem[j],则两值替换 4 { 5 int temp:elem[i];//定义整形变量temp并赋值为elem[i]; 6 elem[i]=elem[j];//给elem[i]赋值elem[i] 7 elem[j]=temp;//给elem[j]赋值temp 8 }
解析
主要考查考生对排序算法的掌握,要排序的数组为elem,元素个数为counter,在这里使用下标i和j进行比较,当elem
>elem[j]时,数组元素通过中间变量temp进行交换。
转载请注明原文地址:https://kaotiyun.com/show/a4Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序:#include<iostream>usingnamespacestd;classBase{intx;protected:inty;public:
cout是I/O流库预定义的【】。
以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每个学生的平均分数并输出,程序如下:#include<iostream>usingnamespacestd;intmain(){i
在关系代数中,对一个关系投影操作以后,新关系的元组个数跟原来关系的元组个数相比()。
以下叙述中正确的是
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval);//①~Sample()://②private:
函数YangHui的功能是把杨辉三角形的数据赋给二位数组的下半三角,形式如下:其构成规律是:①第0列元素和主对角线元素均为1。②其余元素为其左上方和正上方元素值之和。③数据的个数每行递增1。请将程序补充完整。
在面向对象的程序设计中,下列叙述中错误的是
将E-R图转换到关系模式时,实体与联系都可以表示成
在最坏情况下,下列排序方法中时间复杂度最小的是
随机试题
Incitieswithrentcontrol,thecitygovernmentsetsthemaximumrentthatalandlordcanchargeforanapartment.Supporterso
在山区、方向有昼夜转换现象的地方性风叫做______。
不属于肝外胆管癌声像图分型的是
甲欠乙200万元,由丙提供保证,约定保证方式为一般保证。下列表述错误的是?
依据我国现行法律,留置物所有人的财产被留置后,以该留置物为标的而向他人设定抵押权,则正确的受偿顺序应该是()。
人类走向信息社会的重要标志是()。
涉税犯罪+刑事诉讼2009年5月,某市国税局稽查局在一次检查中发现,浩华公司于2005年6月至2007年1月期间,以2万元价格从威力公司购买增值税专用发票75份,涉及税额近120万元,已全部抵扣。2005年6月至2009年2月,在没有货物交易的情况下,浩华
货币型理财产品的投资方向是具有高信用级别的()。
学习活动中最稳定、最可靠、最持久的推动力是()
任何无法量化及不设定时限的目标都是无效的目标,而任何无效的目标都没有实际操作的方法。因此,详细的职位规划不是无法量化及不设定时限的目标。为使上述论证成立,必须补充以下哪项作为前提?
最新回复
(
0
)