首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
admin
2020-06-29
89
问题
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择序列中的部分数据输出到文件out.dat中。文件in.dat中的整数个数不大于300个。
要求:
补充编制的内容写在“//*********333**********”与“//********666********”两行之间。实现对整数序列按非递减排序,并将排序结果在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件out.dat中。输出函数writeToFile已经给出并且调用。
//proj 3.cpp
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
class intArray
{
private:
int * array;//整数序列首地址
int length;//序列中的整数个数
public:
//构造函数,从文件中读取数据用于初始化新对象。参数是文件名
intArray(char * filename);
void sort();//对整数序列按非递减排序
~intArray();
void writeToFile(char *filename);
};
intArray::intArray(char * filename)
{
ifstream myFile(filename);
int len=300;
array=new int[len];
length=0;
while(myFile>>array[length++]);
length--;
myFile.close();
}
void intArray::sort(){
//************* 333 ***********
//************* 666 ***********
}
intArray::一intArray()
{
delete[]array;
}
void intArray:: writeToFile
(char * filename)
{
int step=0;
ofstream outFile(filename);
for(int i=0;i<length;i=i+step)
{
outFile<<array
<<endl;
step++;
}
outFile.close();
}
void main()
{
intArray myArray("in.dat");
myArray.sort();
myArray.writeToFile("out.dat");
}
选项
答案
for(int i =0;i <length; ++i) //遍历整个数组 for(int j =i;j <length;++j) //从i++遍历整数组 if (array[i] > array[j]) //如果arrag[i]>array[j],把array[i]与array[i]进行对换 { int temp; //定义一个临时变量temp temp=a rray[i]; //把array[i]值放到变量temparray[i] = array[j]; //把array[j]值赋给array[i] array[j] =temp; //把变量temp存放在值array[j]中 } for(int a=0;a<length; ++a) //遍历数组,把数组中的所有元素打印到控制台上 cout<<array[a]<< "";
解析
题目要求对整数序列按非递减排序,要排序就必须要有比较,因此定义两个下标i和j,按题目非递减排序要求,当atTay
比array[j]大时就交换其值,利用中间变量temp来实现。
转载请注明原文地址:https://kaotiyun.com/show/ZO8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于类和对象的叙述中,错误的是()。
派生类的对象对它的基类成员中()是可以访问的。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序输出21到屏幕。完成以下功能:(1)增加静态私有变量mNumber,类型为int,请在注释//********1**
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为:30130注意:错误的语句在//********error********的下面,修改该语句
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:11estClass3TestClass2TestClass1其中定义的类并不完整
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:(1)funl(intn);求出n的阶乘,必须使用递归调用。(2)fun2(intn);求出n的阶乘,不能使用递归调用。如果11小于1则返回0。
将运算符*重载为类成员函数时,其参数表中有且仅有一个参数,说明该运算符是
算法的空间复杂度是指( )。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
算法的空间复杂度是指()。
随机试题
构成成分为“元成分、操作成分、知识获得成分”的智力是()
属于大环内酯类抗生素的是
急性持续性腹痛,阵发性加剧并伴休克,最大可能是
护理颅脑损失病人,下列哪项最重要
交通标线是由标划于路面上的各种线条、箭头、文字、立面标记和()等构成的。[2007年真题]
当可燃包装重量大于物品本身重量1/4,或可燃包装体积大于物品本身体积的1/2时,按()确定仓库的火灾危险性。
从人员因素来看,员工操作失误、工作技能匮乏和缺乏工作责任心是导致()的主要原因。
7994
下列是优先级值相同的四台核心交换机的MAC地址,STP根据这些地址确定的根交换机是()。
Readthearticlebelowaboutmoney.ChoosethebestwordorphrasetofilleachgapfromA,B,CorDontheoppositepage.For
最新回复
(
0
)