首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8,4
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为: 排序前:7,1,3,11,6,9,12,10,8,4
admin
2021-06-10
67
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sort函数。程序的正确输出应为:
排序前:7,1,3,11,6,9,12,10,8,4,5,2
排序后:l,2,3,4,5,6,7,8,9,10,ll,12
要求:
补充编制的内容写在“//********333********”与“//********666********”两行之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序调用。
//DataList.h
#include
using namespace std;
class DataList{//数据表类
int len:
double*d:
public:
DataList(int len,double data[]=NULL);
~DataList(){delete[]d;}
int length()const{return len;}//数据表长度(即数据元素的个数)
double getElement(int i)const{return d
;}
void sort();//数据表排序
void show()const;//显示数据表
};
void writeToFile(char*,const Datelist&);
//main.cpp
#include”DataList.h”
DataList::DataList(int len,double data[]):len(1en){
d=new double[len];
for(int i=0;i<len;i++)
d
=(data==NULL?0.0:data
);
}
void DataList::sort(){//数据表排序
//********333********
//********666********
}
void DataList::show()const{//显示数据表
for(int i=0;i<len-1;i++)cout<<d
<<“,”;
cout<<d[len-1]<<endl;
}
int main(){
double s[]={7,1,3,11,6,9,12,10,8,4,5,2};
DataList list(12,s);
cout<<“排序前:”;
list.show();
list.sort();
cout<<end]<<“排序后:”;
list.show();
writeToFile(““,list);
return0;
}
选项
答案
for(int i=0;i<len;++i)//从头遍历数组d fof(int j=i;j<len;++j)//从i+1处遍历数组d if(d[i]>d[j])//d[i]和d[j]比较,如果大于,就d[i]和d[j]值交换 { int temp=d[i];//把临时整型变量temp赋值为d[i] d[i]=d[j];//把d[j]赋值给d[i] d[j]=temp;//把temp值赋给d[j] }
解析
主要考查的是DataList类,其中涉及动态数组、构造函数、析构函数、const函数和排序算法。Sort函数是一个排序函数,对于排序可以使用的方法很多,考生只需要使用自己最擅长的方法即可,题目并没有指定考生使用哪种方法。本题使用最简单的冒泡排序算法,首先明确要排序的动态数组d,其长度为len,在此可以使用两个下标i和j相比较,当d
>d[j]时,数组内的值利用中间变量temp进行交换。
转载请注明原文地址:https://www.kaotiyun.com/show/Xvfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(intx):val(x)()voidPrint()const{co
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中定义的Matrix是一个用于表示矩阵的类。成员函数max_value的功能是求出所有矩阵元素中的最大值。例如,若有3×3矩阵则调用max_value函数,返回值为3。请编写成员函
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成构造函数的定义,请在注释//********1********后添加适当的语句。(2)定义类的友元函数fun(),请在注释
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的
使用VC6打开考生文件夹下的源程序文件modi3.cpp。请完成以下部分,实现在屏幕上输出为:TestClass3TestClass2这个程序需要修改的部分,请按照以下部分实现。(1)类TestClass0不能被实例化,请定义一个纯虚函数print
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。要求:补充编制的内容写在“//******
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公
在为一个类重载下列运算符时,只能作为该类成员函数重载的运算符是
下面不能作为软件设计工具的是
下面是一个模板声明的开始部分:templatedouble…由此可知()。
随机试题
Whenanynon-humanorganistransplantedintoaperson,thebodyimmediatelyrecognizeditas______.
以下哪一事件不是急性中毒事件
男,35岁。左下颌第三磨牙区疼痛5周,左侧咬肌区肿痛4周,切开见大量黄色黏稠脓液,X线片可见左侧下颌角区骨质疏松最可能的感染细菌是
组成混凝土的主要材料有()。
常用的反映失业程度的指标有()
梦魇是学前儿童中较为多见的一种睡眠障碍。()
同样走100米,小明要走180步,父亲要走120步。父子同时同方向从同一地点出发,如果每走一步所用的时间相同,那么父亲走出450米后往回走,还要走多少步才能遇到小明?
一台交换机具有24个10/100Mbps全双工端口和2个1000Mbps全双工端口,如果所有端口都工作在全双工状态,那么该交换机总带宽为()。
JacksonNathan
A、Makinganappointmentwiththedentist.B、Removingtoothcheckingfromtheman’sschedule.C、Havinghistoothcheckedrightaw
最新回复
(
0
)