首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择
admin
2018-09-22
75
问题
请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后由函数writeToFile选择序列中的部分数据输出到文件out.dat中。文件in.dat中的整数个数不大于300个。
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”两行之间。
实现对整数序列按非递减排序,并将排序结果在屏幕上输出。不得修改程序的其他部分。
注意:程序最后已将结果输出到文件out.dat中。输出函数writeToFile已经给出并且调用。
//proj3.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 1=0;1<length;++i)//遍历整个数组 for(intJ=ijJ<length;++j)//从i++遍历整数组 if(array[i]>array[j]) //如果arrag[i]>array[j],把array[i]与array[i]进行对换 { int temp;//定义一个临时变量temp temp=array[i];//把array[i]值放到变量temp array[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,按题目非递减排序要求,当array
比array[j]大时就交换其值,利用中间变量temp来实现。
转载请注明原文地址:https://kaotiyun.com/show/yfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
下列选项中,不是算法的基本特征的是()。
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
已知n是一个int型变量,下列语句中错误的是()。
main函数中发生编译错误的语句是______。#include<iostream.h>classA{public:inta;constintb;A():a(10
类clasgone在声明func成员函数时发生错误,出错原因是______。classoneprivate:inta;public:voidfunc(two&);};class
结构化程序设计的3种基本结构分别是顺序、选择和______。
以下定义数组中错误的是
程序的3种基本控制结构是
随机试题
在肾小球滤液中几乎没有蛋白质。其原因是
下列哪一种情况不是洋地黄治疗心力衰竭有效的指标
关于公民宗教信仰自由,下列选项错误的是:()
2014年7月5日,张某因盗窃罪被公安机关拘留。本案中,如果没有有碍侦查或者无法通知的情形,拘留后,把拘留的原因和羁押的处所通知被拘留人张某的家属的期限是:()
该货物在进口时,在2004年()前申报是符合海关法定申报期限的。该货物在进口后,在()内将受到海关监管。
内部融资的资金来源不包括()。
《福布斯》杂志着重于描写企业精英的思维方式,________“以人为本”的理念,倡导“企业家精神”;不停留在新闻事实的报道上,着力于________新闻背景、________动态信息和行业趋势,深入探讨和研究企业运作的经济环境。依次填入画横线部分最恰当的一
根据以下资料,回答111-115题根据以上资料,能够推出的是:
在战场上,人机协同被人工智能所取代,至少目前来看短时间内很难发生。人工智能能解决的问题有限,替代首先会发生在部分领域,但却依然离不开人机协同。人工智能的主要实现手段是机器学习,深度学习是实现机器学习的一种方式。尽管目前深度学习在众多领域已取得非常好的效果,
设L为曲线求积分I=∫L(x2+3y+3z)ds.
最新回复
(
0
)