首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
admin
2020-12-21
84
问题
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内容填写在“//*******333*******”与“//*******666*******”两行之间。
经修改后运行程序,得到的输出为:
3 5 7 9 8 6 4 2
5
注意:只允许在“//*******333*******”和“//*******666*******”两行之间填写内容,不允许修改其他任何地方的内容。
//Array.h
#include(iostream>
using namespaee std;
elass XArray{//数组类
int*a;
int size;
public:
XArray(int b[],int len):Bize(len)//构造函数
{
a=new int[size];
fof(int i=0;i<size;i++)a
=b
;
}
int length()const{return size;}//返回数组长度
int&operator[](int i){//返回下标为i的元素
if(i<0‖i>=size){
cout<<”下标越界!”<<endl;
delete[]a;
exit(1);
}
return a
;
}
int twoMinSum();//成员函数声明,返回数组a中两个最小元素值之和
~XAmay(){delete[]a;}
};
void writeToFile(eonst char*);//不用考虑此语句的作用
//main.cpp
#include”Army.h”
//返回成员数组a中的两个最小元素值之和
int XArray::twoMinSum()
{
int x1,x2;
if(length()<2)exit(1);
if(a[0]<=a[1])
{x1=a[0];x2=a[1];}
else{x1=a[1];x2=a[0];}
//********333********
//********666********
return x1+x2;
}
void main(){
int a[8]={3,5,7,9,8,6,4,2};
XArray x(a,8);
for(int i=0;i<x.length();i++)
eoul<<x
<<’’;
cout<<endl<<x.twoMinSum()<<endl;
wteToFile(””);//不用考虑此语句的作用
}
选项
答案
int XArray::twoMinSum() { int x1,x2; if(length()<2)exit(1); if(a[0]<=a[1]){x1=a[0];x2=a[1];} else{x1=a[1];x2=a[0];} //********333******** for(int i=2;i<size;i++){ if(a[i]<x1) { x2=x1; x1=a[i]; }else if(a[i]<x2){ x2=a[i]; } //********666******** return x1+x2; } }
解析
根据题意,twoMinSum成员函数需要在成员a指向的size个数组元素中,找到最小的两个元素x1和x2,返回x1和x2之和。函数首先判断a指向的数组中元素个数是否大于等于2个,接着将a[0]和a[1]两个元素的较小值赋给x1,较大值赋给x2,使得x1始终指向处理过元素中的最小值,x2始终指向处理过元素的次小值;然后从数组a中下标为2的位置开始遍历各个元素,若当前元素a
<x1,说明a
是当前处理过元素中的最小值,x1是次小值;用x1更新x2,再用a
更新x1;若a
>=x1且a
<x2,说明a
是次小值,只更新x2即可;若a
>=x2,则不作处理;完成遍历后,返回x1和x2之和。
转载请注明原文地址:https://kaotiyun.com/show/KZyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:TestClass3TestClass2TestClass1其中定义的类并不完整
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为()。
内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是()。
有如下程序:#includeusingnamespacestd;classToy{public:Toy(char*_n){strcpy(name,_n);count++;}~Toy()}count--;}char*GetName(){r
执行语句序列 intn: cin>>n: switch(n) { casel: case2:cout<<’1’: case 3: case4:cout<<’2’: break: d
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是
十进制整数设为整数类I,则下面属于类I的实例的是
设某棵树的度为3,其中度为2、1、0的结点个数分别为3、4、15。则该树中总结点数为
下列选项中属于面向对象设计方法主要特征的是
下列关于线性链表的描述中,正确的是()。Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。
随机试题
患者,女性,65岁。因阵发性胸闷8年,持续胸痛8小时收入院。入院时血压为130/90mmHg,诊断为急性前壁心肌梗死。上述患者出现频发室性早搏,伴短阵室性心动过速,此时最恰当的处理应是
A.白及B.仙鹤草C.棕榈炭D.血余炭E.炮姜具有杀虫功效的药物是()
河流水文调查中一般需要考虑的指标有()。
2014年11月30日,某企业“坏账准备——应收账款”科目贷方余额为30万元,12月31日,相关应收账款所属明细科目借方余额为500万元,经减值测试,该应收账款预计未来现金流量现值为410万元。不考虑其他因素,该企业2014年12月31日应确认的资产减值损
根据我国宪法和法律规定,下列选项中属于民族自治地方的是()。
股东代表诉讼是指当公司的合法权益受到不法侵害而公司却息于起诉时,公司的股东即以自己的名义起诉,所获赔偿归于公司的一种诉讼制度。根据上诉定义,以下情形可以提起股东代表诉讼的是:
在两种互补品之间,其中一种商品价格上升,会使另一种商品的需求量()。
学生上完体育课后回到教室,有15人喝了饮水机里的纯净水,其中5人很快产生了腹泻。饮水机里的纯净水马上被送去检验,检验的结果不能肯定其中有造成腹泻的有害物质。因此,喝了饮水机里的纯净水不是造成腹泻的原因。如果上述检验结果是正确的,则以下哪项对上述论证的评价最
Generallyspeaking,aBritishiswidelyregardedasaquiet,shyandconservativepersonwhois【C1】______onlyamongthosewithw
在数据库中,产生数据不一致的根本原因是
最新回复
(
0
)