算法與數(shù)據(jù)結(jié)構(gòu):1017 數(shù)據(jù)的最大值問題(重載+函數(shù)模板)_第1頁
算法與數(shù)據(jù)結(jié)構(gòu):1017 數(shù)據(jù)的最大值問題(重載+函數(shù)模板)_第2頁
算法與數(shù)據(jù)結(jié)構(gòu):1017 數(shù)據(jù)的最大值問題(重載+函數(shù)模板)_第3頁
算法與數(shù)據(jù)結(jié)構(gòu):1017 數(shù)據(jù)的最大值問題(重載+函數(shù)模板)_第4頁
算法與數(shù)據(jù)結(jié)構(gòu):1017 數(shù)據(jù)的最大值問題(重載+函數(shù)模板)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1017.數(shù)據(jù)的最大值問題(重載+函數(shù)模板)兩個類如下設(shè)計:類time有三個數(shù)據(jù)成員,hh,mm,ss,分別代表時,分和秒,并有若干構(gòu)造函數(shù)和一個重載()(大于號或者小于號)的成員函數(shù)。要求設(shè)計一個函數(shù)模板template double maxn(T x, int len) 對int,float,time和date或者其他類型的數(shù)據(jù),返回最大值。主函數(shù)有如下數(shù)據(jù)成員:int intArray 100 ; double douArray 100 ;time timeArray 100 ;date dateArray 100 ;其中,hh = 3600 * ss, mm = 60 * ss, ye

2、ar = 365 * day, month = 30 * day,對于time和date類型,數(shù)據(jù)在轉(zhuǎn)換成ss或者day后進(jìn)行運算。#includeusing namespace std;class Timeint hh,mm,ss;public:Time(int h=0,int m=0, int s=0):hh(h),ss(s),mm(m)bool operator(Time & t2);class Dateint year,month,day;public:Date(int y=0, int m=0, int d=0):year(y),month(m),day(d)bool operato

3、r(Date& d2);templateT maxn(T x , int len); int main( )int intArray100; double douArray100;Time timeArray100;Date dateArray 100;return 0;輸入格式:每行為一個操作,每行的第一個數(shù)字為元素類型,1為整型元素,2為浮點型元素,3為time類型,4為date類型,若為整型元素,接著輸入整型數(shù)據(jù),以0結(jié)束。若為浮點型元素,接著輸入浮點型數(shù)據(jù),以0結(jié)束。若為time型元素, 輸入time型數(shù)據(jù)(hh1 mm1 ss1 hh2 mm2 ss2),以0 0 0結(jié)束。若為dat

4、e型數(shù)據(jù),輸入date型數(shù)據(jù)(year1 month1 day1 year2 month2 day2),以0 0 0結(jié)束。輸入-1時表示全體輸入結(jié)束。輸出格式:對每次輸入,輸出一個最大值。樣例輸入:1 4 5 9 3 7 02 4.4 5.5 6.9 3.2 2.7 03 18 21 22 18 20 31 18 21 49 0 0 04 2013 5 14 2013 5 15 2013 4 1 0 0 0-1樣例輸出:96.918 21 492013 5 15int main( )int intArray100; double douArray100;Time timeArray100;Da

5、te dateArray 100;int elemType;cinelemType;while(elemType!=-1)switch(elemType)case 1:opArray(intArray); break;case 2:opArray(douArray); break;case 3:opArray(timeArray); break;case 4:opArray(dateArray); cinelemType;return 0;先寫Main函數(shù)templatevoid opArray(T x )int len;T temp;len=0;while(1)cintemp;if(temp

6、=0) break;elsexlen+=temp;coutmaxn(x,len)(Time & t2);bool operator=(int d);friend istream& operator(istream& , Time&);friend ostream& operator(Date& d2);bool operator=(int d);friend istream& operator(istream&, Date&);friend ostream& operator(ostream&, Date);根據(jù)情況調(diào)整相關(guān)類(含與該類相關(guān)的友元函數(shù))templateT maxn(T x, i

7、nt len)int i, id;id=0;for(i=1;ixid) id=i;return xid;從抽象到具體完成其它函數(shù)bool Time:operator=(int d)return hh=d & mm=d & ss=d;bool Time:operator(Time &t2)return hh*3600+mm*60+ss t2.hh*3600+t2.mm*60+t2.ss;istream& operator(istream& in, Time& t)int.hht.mmt.ss;return in;ostream& operator(ostream& out, Time t)outt.hh t.mm (Date& d2)return year*365+month*30+day d2.year*365+d2.month*30+d2.day;istream& operator(istream& in, Date& d)i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論