首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary( )的定义补充完整,经补充后运
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary( )的定义补充完整,经补充后运
admin
2018-09-22
54
问题
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary( )的定义补充完整,经补充后运行程序,得到的输出结果应该是:
5 8
5,4,3,2,1
0,0,8.4,5.6,4.5,3.4,2.3,1.2
注意:只允许在“//********333********”和“//********666********”之间填写内容,不允许修改其他任何地方的内容。
//Array.h
#include<iostream>
using namespace std;
template<class Type,int m>
class Array{//数组类
public:
Array(Typeb[ ],int mm){//构造函数
for(int i=0;i<m;i++)
if(i<mm)a
=b
;
elsea
=0;
}
void Contrary( );
//交换数组a中前后位置对称的元素的值
int Length( )const{return m;}
//返回数组长度
Type operator[ ](int i)const{
//下标运算符重载为成员函数
if(i<0||i>=m)
{cout<<"下标越界!"<<endl;exit(1);}
return a
;
}
private:
Type a[m];
};
void writeToFile(const char*);
//不用考虑此语句的作用
//main.cpp
#include"Array.h"
//交换数组a中前后位置对称的元素的值
template<class Type,int m>
void Array<Type,m>::Contrary( ){//补充函数体
//********333********
//********666********
}
int main( ){
int s1[5]={1,2,3,4,5};
double s2[6]={1.2,2.3,3.4,4.5,5.6,8.4};
Array<int,5>d1(s1,5);
Array<double,8>d2(s2,6);
int i;
d1.Contrary( );d2.Contrary( );
cout<<d1.Length( )<<’ ’<<d2.Length( )<<endl;
for(i=0;i<4;i++)
cout<<d1
<<",";
cout<<d1[4]<<endl;
for(i=0;i<7;i++)
cout<<d2
<<",";
cout<<d2[7]<<endl;
writeToFile(" ");
//不用考虑此语句的作用
return0;
}
选项
答案
for(int i=0,j=m-1;i<j;i++,j--) {//i从0开始自加,j从数组最一位开始自减,条件是i<j,开始遍历数组a Type temp=a[i]; //把a[i]赋值给变量temp a[i]=a[j];//把a[j]赋值给[j] a[i]=temp; //把temp赋值给a[j],最终使a[i]与a[j]值的互换 }
解析
主要考查考生对交换算法的掌握情况,根据题目对要完成的函数Contrary的要求:交换数组a中前后位置对称的元素的值。这里取下标j=0,即为数组中的第一个元素,j=m-1,即为数组中的最后一个元素,利用中间值temp交换元素的值,然后i逐次递增的同时j逐次递减,再交换,循环到i>j时停止交换即可。
转载请注明原文地址:https://kaotiyun.com/show/FfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
关于纯虚函数,下列表述中正确的是()。
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()。
下列关于虚函数的描述中,正确的是()。
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为()。
下列有关拷贝构造函数的描述中错误的是()。
程序的3种基本控制结构是
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>=b)?a:b;}下列对函数模板Max()的调用中错误的是()。
随机试题
A.元神之府B.精明之府C.中精之府D.血之府E.孤府三焦为
对糖代谢无影响的激素是
心功能Ⅰ级心功能Ⅱ级
阳水若见汗出恶风,卫阳已虚者,其最佳选方是
下列阴阳失调的病机变化中,"阴"的含义为"阴邪"的是
A.胆酸螯合剂B.他汀类药C.贝丁酸类药D.烟酸类药E.胆固醇吸收抑制剂慢性肝病、严重痛风者禁用()
[背景资料]某公路工程项目(K0+000~K6+000)依法进行招标。该项目有两座公路隧道,施工项目起止桩号分别位于K1+100~K2+200和K4+250~K5+300,有两座公路桥梁,一座位于K0+500,单跨为120m,另一座位于K3+60
建设监理是一种高智能的有偿()服务。
体育课上正在进行单杠项目练习,体育老师张老师在杠下进行保护。此时,有人来通知张老师,教务主任在办公室等他,要跟他商量下学期新开设的体育选修课的问题。张老师跟班里的体育委员说了一下,便离开操场,而同学们继续练习。结果,在张老师离开期间,有同学从单杠上摔下,导
一个标有“3.8V,2W”的小灯泡,通过实验描绘出这个小灯泡的伏安特性曲线,某同学按图1所示方式连接电路,画出图2所示小灯泡的I一U图象。(1)闭合开关S之前,滑动变阻器滑片P应该置于滑动变阻器的_________(填“左端”或“右端”)。
最新回复
(
0
)