首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
admin
2019-04-18
48
问题
请使用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全国计算机二级
相关试题推荐
执行下列语句段后,输出字符“*”的个数是for(inti=50;i>l;--i)cout<<”*”
下面叙述错误的是()
下列程序用来判断数组中特定元素的位置所在,则输出结果为()。#include<conio.h>#include<iostream.h>intfun(int*p,intn,int*j){inti;*j=0
下列程序中横线处正确的语句是()。#include<iostream>usingnamespacestd;classTestClass{public: voidfun(){cout<<"Tes
执行以下程序,输出结果的最后一行语句是______。#include<iostream.h>classSample{ intx,y; public: Sample(){x=y=0;} Samp
运算符重载是对已有的运算符赋予多重的含义,所以()。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较______次。
下列字符串中不能作为C++标识符使用的是
随机试题
e3=e3.故填e3.
患者,女性,30岁。月经量多已2年,近3个月来感乏力、头晕、心悸,查:血红蛋白65g/L,白细胞6.0×109/L,血小板140×109/L,骨髓象:粒比红为1:1,红细胞增生活跃,中晚幼红细胞45%,体积小,胞质偏蓝,治疗首选
A、视盘B、视盘的周边部C、中央凹D、中央凹周边部E、视网膜周边部视网膜上仅有视锥细胞的部位是
关于钢结构构件的焊接,下列叙述不正确的是()。
拌和站场地(含堆料区、加工区)应做硬化处理,主要运输道路应采用不小于()cm厚的C20混凝土硬化。
在国库单一账户体系下,各执收单位的所有收入通过代理银行直接缴入()。
甲会计师事务所于2002年2月15日对A公司2001年度会计报表出具了审计报告,该审计报告副本作为审计档案应当( )。
按现行制度规定,需要在“应收票据”科目下核算的票据包括()。
简述形式训练说的基本观点。
下列关于服务器技术的描述中,正确的是()。
最新回复
(
0
)