首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
admin
2019-04-18
65
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort。在main函数中给出了一组测试数据,此时程序运行中应显示:
读取输入文件…
---排序前---
al=312
a2=5274163
---排序后---
al=123
a2=1234567
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。
{/IntArray.h
#include
#include
usingnamespacestd;
classIntArray{
public:
IntArray(unsignedintn)
{
Size=n;
data=newint[size];
}
~IntArray(){delete[]data;}
intgetSize()const{returnsize;}
int&operator[](unsignedinti)
const{returndata
;}
voidswap(inti,intj)
{
inttemp=data
;
data
=data[j];
data[j]=temp;
}
voidsort();
friendostream&operator<<(ostream&os,constIntArray&array)
{
for(inti=0;i
os<
<<’’;
returnos;
}
private:
int*data;
unsignedintsize;
};
voidreadFromFile(constchar*,IntArray&);
voidwriteToFile(char*,constIntArray&);
//main.h
#include
#include"IntArray.h"
voidIntArray::sort()
{
//********333********
//********666********
}
voidreadFromFile(constchar*f,IntArray&m)
{
ifstreaminfile(f);
if(infile.fail()){
cerr<<"打开输入文件失败!";
return;
}
inti=0;
while(!infile.eof()){
infile>>m[i++];
}
}
intmain()
{
IntArraya1(3),a2(7),a3(1000);
a1[0]=3,a1[1]:1,a1[2]=2;
a2[0]=5,a2[1]=2,a2[2]=7,a2[3]
=4,a2[4]=1,a2[5]=6,a2[6]=3;
readFromFile("in.dat",a3),
cout<<"---{j}序前---\n";
cout<<"a1="<
cout<<"a2="<
end1;
a1.sort();
a2.sort();
a3.sort();
cout<<"---排序后---\n";
cout<<"a1="<
cout<<"a2="<
end1;
writeToFile("",a3);
return0;
}
选项
答案
for (int i = 0; i < size; i++) for (int j = i+1; j < size; j++) if (data[i] > data[j]) swap(i, j);
解析
主要考查考生对排序算法的掌握,sort函数的功能是将数组元素按照从小到大的顺序排序。使用for循环遍历数组元素,变量i和j代表数组元素下标,将数组元素i和j进行比较,顺序不对就调用swap函数交换元素。
转载请注明原文地址:https://kaotiyun.com/show/npAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列字符串中,不可以用作C++标识符的是
下列对于软件的叙述中正确的是
关系数据库系统实现的专门关系运算包括选择、连接和______。
下面关于运算符重载的描述中,正确的是()。
下面有关内联函数的叙述中,正确的是()。
Staff类含有int型数据成员ID,两个Staff对象相等是指它们的ID相同。下面的函数重载了运算符“==”,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将横线处缺失部分补充完整。boolStaff::Sta
在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:classTestClass{protected:voidfun(){}};classTestClass1:
下列对重载函数的描述中,()是错误的。
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()
下列字符串中,正确的C++标识符是()。
随机试题
男,30岁,农民,早餐后在稻田喷洒杀虫剂“乐果”4小时后出现头晕、乏力、恶心、呕吐、腹痛、腹泻、多汗,查:血压90/60mmHg,皮肤潮湿,双瞳孔直径1.5mm,躯干和四肢可见多处肌束颤动,腹肌软,脐周压痛,肠鸣音亢进。该患者应首选下列哪项检查
患儿,男,10岁。因双下肢皮肤出现紫红色出血点来院就诊,经检查确诊为过敏性紫癜。目前该患儿双下肢及臀部出现大量紫癜,此时护士除应采取措施保护患儿皮肤外,还应当注意预防
不属于原核细胞型的微生物是()
A.氢氯噻嗪B.头孢呋辛C.头孢他啶D.维生素KE.鱼精蛋白呋塞米不应与哪一种药物合用
知某投资项目折现率为16%时,净现值为一120万元;折现率为12%时,净现值为80万元。则该投资项目的内部收益率近似为()。
在借贷记账法下,账户的借方应登记()。
下列选项中,关于合伙企业的表述。错误的是()。
若数列{an}的各项满足an+1=2an-n+1,则下列说法中正确的是().
知识鸿沟是指不论社会经济地位高或低,每个人所获取的知识都会随时间增加,但社会经济地位高的人获取的知识量却比社会经济地位低的人所获取的多,久而久之,这两群人的知识差距会不断扩大,这就是知识鸿沟。根据上述定义,下列说法正确的是:
下列哪些属于法律禁止的证券交易行为?()
最新回复
(
0
)