首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
admin
2020-06-29
77
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
阅读下面的程序:#includevoidmain(){intx;cin>>x;if(x++>5)cout
下列说法中错误的是()。
下列程序的输出结果是()。$includevoidff(intx),if(doublex);voidmain(){floata(88.18);ff(a);charb(’a’)
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval);//①-Sample();//②private:int
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:numberl=4.8number2=93.6number3=0.9PRODUCT=404.352注意:错误的
使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(char*S,inta[]),其功能是把S中出现的数字转换成数字存储在a[]中,然后返回转换的个数。例如:S="1234abcdef567":则:a[]qb存储
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请补充完整程序fun(inti),使程序完成以下功能:如果i=5,则输出如下5行井号。###############注意:不要
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:Numbe=8注意:错误的语句在//********error********的下面,修改该语句即可。1
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
若MyClass为一个类,执行语句"MyClassa[4],*p[5];"时会自动调用该类构造函数的次数是
随机试题
车床的照明采用的是()照明。
肾盂肾炎患者尿路感染最常见的致病菌为
机架和电动机、制动器、减速器、轴承以及其他零部件之间的衬垫的数量在一个部位不能多于()个。
常用的建筑排水管是()材料。
胶版复印机
银行在解决流动性问题时,非常重要的一点是对流动性风险计提资本要求。()
(2013年)我国回购协议市场的银行间回购利率是()。
甲注册会计师拟运用抽样方法设计样本,你认为他的哪些判断是正确的( )。在对销售收入进行实质性审计时,认为与产品风险转移、收入确认最直接关联的要关注的日期有( )。
表中数据表明()。1998年,下列四个国家中,哪个国家水电和核电消费量最小?()
•ReadthetextbelowaboutdeathbyoverworkinJapan.•Inmostofthelines34-45thereisoneextraword.Itiseithergramma
最新回复
(
0
)