首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
请使用VC6或使用【答题】菜单打开考生文件夹proj3 下的工程proj3,其中定义的IntArray是一个用于表示整型一维数组的类。成员函数swap可以将数组中的两个指定元素交换位置;成员函数sort的功能是将数组元素按照升序排序。请编写成员函数sort
admin
2019-04-18
76
问题
请使用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++标识符的是
若要访问指针变量q所指向的数据,应使用表达式______。
一棵二叉树第6层(根结点为第一层)的结点最多为______个。
()使一个函数可以定义成对许多不同数据类型完成同一个任务。
在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,______负责数据的模式定义与数据的物理存取构建。
对于一个类定义,下列叙述中错误的是()。
在下列关于二叉树的叙述中,正确的一项是()。
执行以下程序后,输出“*”号的个数是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上()。Boolfun(char*str){inti=0,j=0:while(str[j])
随机试题
某村庄的村民,食用发霉粮食后,突发一过性发热、呕吐、厌食,随后出现黄疸、水肿,到医院检查有肝功能异常。患病村民可能是
A.归脾汤B.酸枣仁汤C.天王补心丹D.朱砂安神丸E.甘麦大枣汤
A.外毒素B.菌毛C.鞭毛D.荚膜E.芽胞肺炎链球菌的主要致病物质是
不能用其蒸气灭菌的是
以下属于无民事行为能力人的是()。
城镇职工基本医疗保险实行( )。
冲击疗法的治疗协议包括()。
劳动经济学的研究对象包括()。
根据下列材料回答问题。2012年,F省社会保险工作年度目标任务如下:城镇基本养老保险目标任务为725.00万人,城镇基本医疗保险目标任务为1260.00万人,失业保险目标任务为428.50万人,工伤保险目标任务为504.00万人,生育保险目标任务为453
Giventhechoice,youngerprofessionalsaremostinterestedinworkingattechcompanieslikeAppleandgovernmentagencieslike
最新回复
(
0
)