四、綜合應(yīng)用題(18分)43請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj3下的工程proj3,其中聲明的DataList類(lèi),是一個(gè)用于表示數(shù)據(jù)表的類(lèi)。s0rt成員函數(shù)的功能是將當(dāng)前數(shù)據(jù)表中的元素升序排列。請(qǐng)編寫(xiě)這個(gè)sort函數(shù)。程序的正確輸出應(yīng)為: .
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
補(bǔ)充編制的內(nèi)容寫(xiě)在“//********33********”與“//********666********”兩行之問(wèn)。不得修
改程序的其他部分。
注意:程序最后將結(jié)果輸出到文件。ut.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為。obj文件,并且在本程序
調(diào)用。
//DataList.h
#inClude using namespaCe std; Class DataList{//數(shù)據(jù)表類(lèi)
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){delete[]d;}
int length(Constt retum len;}//數(shù)據(jù)表長(zhǎng)度(即數(shù)據(jù)元素的個(gè)數(shù)) double getElement(int i)Const{return d[i];}
void sort();//數(shù)據(jù)表排序
void show()Const;//顯示數(shù)據(jù)表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i< p>
d[i]=(data==NULL?0.0:data[i]);
}
void DataList::sort(){//數(shù)據(jù)表排序//********333********
//********666********}
void DataList::show()Const{//顯示數(shù)據(jù)表
for(int i=0;i<<<<<>
}
int main(){
double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);
Cout<<”排序前:”; list.show();
list.sort();
Cout<<<>
writeToFile(””,list); return 0;
參考答案:for(inti=0;i<>
for(int j=i;j< p>
//從i+1處遍歷數(shù)組d
if(d[i]>d[j])
//d[j]和d[j]比較人,如果大于,就d[i]和d[j]值交換
{
inttemp=d[i];
//把臨時(shí)整型變量temp賦值為cJ[i]
d[i]=d[j];//把d[j]賦值給d[i]
d[j]=temp;//把temp值賦給d[j]
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |