首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary()的定义补充完整,经补充后运行
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary()的定义补充完整,经补充后运行
admin
2020-04-07
46
问题
请打开考生文件夹下的解决方案文件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(Type b[],int mm){//构造函数
for(int i:0;i<m;i++)
if(i<mm)a
=b
;
else a
=0;
}
void Contrary();
//交换数组a中前后位置对称的元素的值
int Length()const{return m;}
//返回数组长度
Type operator[](int i)const{
//下标运算符重载为成员函数
if(i<0}||i>=m)
{cout<<"下标越界!"<<end1;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()<<"<<d2Length()<<end2;
for(i=0 ;i<4;i++)
cout<<d1
<<",";
cout<<d1[4]<<end1;
for(i=0;i<7;i++)
cout<<d2
<<",";
tout<<d2[7]<<endl;
writeToFile("");
//不用考虑此语句的作用
return 0:
}
选项
答案
1 for(int i =0,j =m一1;i <j;i++,j--) 2 { //i从0开始自加,j从数组最一位开始自减,条件是i<j,开始遍历数组a 3 Type temp=a[i]; //把a[i]赋值给变量temp 4 a[i]=a[j]; //把a[j]赋值给[j] 5 a[j]=temp; //把temp赋值给a[j],最终使a[i]与a[j]值的互换 6 }
解析
主要考查考生对交换算法的掌握情况,根据题目对要完成的函数Contrary的要求:交换数组a中前后位置对称的元素的值。这里取下标i=0,即为数组中的第一个元素,j=m一1,即为数组中的最后一个元素,利用中间值temp交换元素的值,然后i逐次递增的同时j逐次递减,再交换,循环到i>j时停止交换即可。
转载请注明原文地址:https://kaotiyun.com/show/ou8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序输出的结果是()。#include<iostream>usingnamespacestd;intfuc(char*x);intmain(){cout<<fuc("hello")<<
以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!b)||!c;cout<<d<<endl;}
下列关于getline()函数的描述中,不正确的是()。
程序设计语言的基本成分是数据成分、运算成分、控制成分和
软件工程的出现是由于()。
程序的结果为【】。 #include”iostream.h” template<typenameT> Ttotal(T*data) { Ts=0; while(*data) {
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
若有定义语句“intx=10;”,则表达式“x
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
随机试题
三羧酸循环以乙酰CoA与草酰乙酸缩合成含有三个羧基的柠檬酸开始,故称为三羧酸循环。关于三羧酸循环三羧酸循环是不可逆的,原因在于有3处不可逆反应,下面所列中哪一个属于三羧酸循环中催化不可逆反应的酶
中国公民张某由一中资企业于2014年10月派往国内一外商投资企业工作,派遣单位和雇佣单位每月分别支付其工资1000元和8000元,则张某当月自行申报时应当补缴的个人所得税税额为()元。
地陪在接小型旅游团或无领队、无全陪的散客旅游团时,要在接站牌上写上(),以便客人能主动与地陪联系。
中国特色社会主义法治道路要坚持依法治国和以德治国相结合。下列有关说法不正确的是:
天气预报本市将有8级海潮,要你通知下面各乡镇,但是乡镇里的人员都下村了。你怎么办?
秦汉四百年间,政治与文化相互推动,形成互补机制,其效应是:统一被认为是合理的、正常的,分裂则被认为是违理的、反常的。秦汉文化造成的这一定势,深刻地影响了此后两千年的中国历史。国家统一,使多元文化整合的速度与力度加强;而整合后的一统文化,具有强大的凝聚力和向
有下列程序,其中%u表示按无符号整数输出。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf(’’%u\n’’,x);}程序运行后的输出结果是(
私たちが物を食べたとき、その前と後で私たちの体重はどのように変化するのだろう。たとえば、いま100グラムのくだものを食べたとして、体重は何グラムふえるだろうか。答えは100グラムである。あたり前じゃないかと怒ってはいけない。それは食べたすぐ後の話なのだ。で
WhydidthegirlinviteUncleSmithtodinner?
A、Fromwatchesontheirwrists.B、Fromwatchesoftherich.C、Fromclocksintheshops.D、Fromclocksinthesquares.D
最新回复
(
0
)