首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中,然后对整数序列按非递减排序,最后
admin
2017-02-21
31
问题
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件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)
{
i fstream myFile(filename);
int len=300;
array=new int[fen];
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
<<end1;
step++;
}
outFile.close();
}
void main()
{
intArray myArray("in.dat");
myArray.sort();
myArray.writeToFi le("out.dat");
}
选项
答案
for(int i=0;1<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=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/U6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有说明语句chara[]="Itismine";char*p="Itismine";则以下不正确的叙述是
函数重载要求重载的函数必须有和原函数一样的【】。
下面程序的结果是#include"iostream.h"voidmain(){char*str;str="test!";cout<<str
语句cout<<setprecision(2)<<1024.4567;的输出结果为
以下哪个特征不是面向对象思想中的主要特征?
以下数据结构中不属于线性数据结构的是
数据流图的类型有______和事务型。
以下选项中合法的实型常数是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
随机试题
前轮前束由()。
《内经》中三部分类法,喜怒不节则伤
下列哪一项不属于医德意识现象
以下为不溶型薄膜衣材料的是
()是交付使用资产总表的具体化,反映交付使用固定资产、流动资产、无形资产和递延资产的详细情况,是使用单位建立资产明细账、登记新增资产价值的依据。
若经济出现萧条、衰退、正常和繁荣状况的概率分别为20%、15%、40%、25%。某理财产品在这四种经济状况下的收益率分别为10%、-4%、20%、30%,则该理财产品的期望收益率为()。
政府预算分为增量(基数)预算和零基预算,其划分依据是()。
今年的世界环境保护日,中国的主题是“向污染宣战”,请以此为主题说一段话。
溃疡的定义为()。
一个已经公认的结论是,北美洲人的祖先来自亚洲。至于亚洲人是如何到达北美的,科学家们一直假设,亚洲人是跨越在14000年以前还连接着北美和亚洲后来沉入海底的陆地进入北美的,在艰难的迁徙途中,他们靠捕猎沿途陆地上的动物为食。最近的新发现导致了一个新的假设,亚洲
最新回复
(
0
)