首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary(
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary(
admin
2019-06-05
27
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程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 mein(){
int sl[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()<<end1;
for(i=0;i<4;i++)
cout<<d1
<<",";
cout<<d1[4]<<end1;
for(i=0;i<7;i++)
cout<<d2
<<",";
cout<<d2[7]<<end1;
writeToFile("");
//不用考虑此语句的作用
return 0;
}
选项
答案
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[j]=temp; //把temp赋值给a[j],最终使a[i]与a[j]值的互换 }
解析
主要考查考生对交换算法的掌握情况,根据题目对要完成的函数Contrary的要求:交换数组a中前后位置对称的元素的值。这里取下标i=0,即为数组中的第一个元素,j=m-1,即为数组中的最后一个元素,利用中间值temp交换元素的值,然后i逐次递增的同时j逐次递减,再交换,循环到i>j时停止交换即可。
转载请注明原文地址:https://kaotiyun.com/show/bm8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于常成员函数的说法中正确的是()。A)常成员函数不能修改任何的数据成员B)常成员函数只能修改一般的数据成员C)常成员函数只能修改常数据成员D)常成员函数只能通过常对象来调用
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
A、 B、 C、 D、 C结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
A、 B、 C、 D、 D选项A)、B)、C)叙述的都是链式存储结构具有的特点,顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其插入、删除运算操作木方便,需移动大量的结点。
下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classFraction{//"分数"类public:Fractio
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。A)任何B)公有或保护C)保护或私有D)私有
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
患者,男性,28岁,左上第三磨牙阻生颊侧移位,要求拔除。行上牙槽后神经阻滞麻醉后左面颊部立即肿胀。发生上述情况时,处理不正确的是
12.下列哪个选项的法规或条例或法律报全国人大常委会批准后生效?()(1999年律考,卷一,第27题)
表示有功功率、无功功率的单位分别是()
自动喷水灭火湿式系统,适合在温度不低于()℃且不高于()℃的环境中使用。
现有甲、乙、丙三个项目,原始投资额现值和寿命期均不相同,甲的净现值最大,乙的内含报酬率最高,丙项目的年金净流量最大。则下列说法中正确的有()。
以下不能反映区域自然地理环境影响人们的生产方式、生活习惯、文化传统等方面的一句话是()。
以下哪一项不属于秦朝时期的主要法律形式()
Theoutcryoverinternetfirms’habitofsurreptitiouslytrackingwebsurfers’activitieshasclearlyresonatedinsidetheWhite
下列对CiscoAironet1100的SSID及其选项设置的描述中,错误的是()。
有以下程序:#include<stdio.h>#include<stdlib.h>intfun(intn){int*P:P=(int*)malloc(sizeof(int)):*p=
最新回复
(
0
)