首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数
admin
2016-08-19
60
问题
请使用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全国计算机二级
相关试题推荐
关系数据库管理系统能实现的专门关系运算包括()。
以下程序调用findmax()函数返回数组中的最大值。请填空完成此函数。#include〈iostream〉usingnamespacestd;intfindmax(int*a,intn){int+p
已知某序列为{49,38,65,97,76,13,27},试采用该序列的第一个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:【】。
有如下程序:#include<iostream>usingnamespacestd;classbase{public:virtualvoidf1(){
下列关于多继承.二义性的描述中,错误的是()。
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
下面叙述错误的是()。
下列运算符中哪些是不能够被重载的?
下列工具中为需求分析常用工具的是
一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集"项目主管"与实体集"项目"的联系属于______的联系。
随机试题
下列DNA中,一般不用作克隆载体的是
据《关于推进大气污染物联防联控工作改善区域空气质量的指导意见》,大气污染物联防联控的重点行业是()。
对施工单位提出的工程变更,总监理工程师应履行的职责有()。
甲、乙、丙、丁四人合作创作一部小说,甲欲将该小说许可给某电影制片厂改编后拍成电影。乙则想把它许可给某网站在网络上传播,丙对这两种做法均表示反对,丁则不置可否。对此,下列哪一选项是正确的?()
Readingisthekeytosuccess.Apparently,everysuccessfulpersondevelopsapassionforreading.Thisisbecausereadingisa
Relativitytheoryhashadaprofoundinfluenceonourpictureofmatterbyforcingustomodifyourconceptofaparticleinan
为当前表中所有学生的总分增加10分,正确的命令是()。
Theorderlycamebackinafewminuteswitharifleandfivecartridges,andmeanwhilesomeBurmanshadarrivedandtoldusthat
ChrisBaildon,tallandlean,wasinhisearlythirties,andtheend-productofanolddecayedislandfamily.Chrissharedt
Humanbodyneedsavarietyofessentialnutrientstofunctionproperly.Unlessyouarea【C1】______,youprobablydon’tknowwhat
最新回复
(
0
)