freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件課程設(shè)計題目(編輯修改稿)

2024-08-19 21:20 本頁面
 

【文章內(nèi)容簡介】 13. 利用虛函數(shù)手段,按照3種不同的計算方法來求出Fibonacci數(shù)列的第n項(的具體項值)并輸出。具體地說,可通過在基類baseCla及其派生類fib1Cla、fib2Cla和fib3Cla中說明如下的同一個虛函數(shù)“virtual double fib(int n)。”,來實現(xiàn)求Fibonacci數(shù)列第n項值并返回的3種不同求解方法。例如,可設(shè)計并使用已經(jīng)在第4和第5章的練習中所實現(xiàn)的求解方法:簡單變量“數(shù)據(jù)平移”法、使用數(shù)組的實現(xiàn)法以及使用遞歸函數(shù)的實現(xiàn)法。下面給出具體的“實現(xiàn)程序骨架”。class baseCla { //自定義的基類baseClapublic:virtual double fib(int n)=0。 //基類baseCla中說明了一個虛函數(shù)fib,且為純虛函數(shù)}。class fib1Cla:public baseCla { //由基類baseCla派生出的fib1Cla類public: virtual double fib(int n)。 //派生類中說明同一個虛函數(shù)fib(簡單變量“數(shù)據(jù)平移”法)}。class fib2Cla:public baseCla { //派生類fib2Clapublic: virtual double fib(int n)。 //派生類中說明同一個虛函數(shù)fib(使用數(shù)組的求解法)}?!璿oid fun(baseCla *p, int n) {//自定義函數(shù)fun,形參p為指向基類的指針,其對應(yīng)實參//可為不同派生類對象的地址;n指明要求出數(shù)列的第n項 double d = pfib(n)。 //根據(jù)p指針值的不同,將調(diào)用不同派生類的虛函數(shù)fib (ios::scientific)。 (15)。 coutfib(n)=dendl。 }void main() { fib1Cla obj1。 //fib1Cla類對象obj1 fib2Cla obj2。 //fib2Cla類對象obj2 fib3Cla obj3。 //fib3Cla類對象obj3 cout fib1Cla endl。 fun(amp。obj1, 1476)。 //簡單變量“數(shù)據(jù)平移”求解方法,求fib(1476) cout fib2Cla endl。 fun(amp。obj2, 888)。 //數(shù)組求解方法,求fib(888) cout fib3Cla endl。 fun(amp。obj3, 35)。 //遞歸求解方法,求fib(35)} 程序執(zhí)行后,屏幕顯示結(jié)果為: fib1Cla fib(1476)=+308 fib2Cla fib(888)=+185 fib3Cla fib(35)=+006自定義如下形式的一個稱為point的類,其對象表示平面上的一個點(x,y),并通過類成員方式對該類重載二目運算符“+”和“^”,用來求出兩個對象的和以及兩個對象(平面點)的距離。各運算符的使用含義(運算結(jié)果)如下所示: (, ) + (, 6) = (, ); (, ) ^ (, 6) = 。并編制主函數(shù),說明類對象,而后通過類對象實現(xiàn)所定義的相關(guān)運算(以驗證其正確性)。class point { double x,y。 public: point (double x0=0, double y0=0){x=x0。 y=y0。} point operator + (point pt2)。 double operator ^ (point pt2)。 void display()。 }。14. 設(shè)計一個簡單的計算器類(類型),要求:(1) 從鍵盤讀入算式。(2) 可以進行加、減、乘、除運算。(3) 運算要有優(yōu)先級。(4) 用戶可以按任何的運算符出現(xiàn)順序進行輸入。(5) 不限定用戶輸入的計算式的長度。(6) 有排錯功能,當用戶輸入錯誤的算式時提示用戶。例如,如果用戶輸入:3 + 4 * 5 – 7,計算結(jié)果應(yīng)為16。(提示:可以使用本節(jié)所定義的棧類來幫助進行處理)15. 編寫一個在具有m行n列的二維數(shù)組各元素中找出最大元和最小元并顯示在屏幕上的函數(shù)模板,并通過主函數(shù)對它進行調(diào)用以驗證其正確性。例如,可設(shè)計該函數(shù)模板的原型為: template class Type void maxMin (Type *A, int m, int n )。 其中二維數(shù)組A的元素類型為Type,數(shù)組A具有m行n列。注意:函數(shù)模板maxMin中要處理二維數(shù)組A的m行n列的諸元素,但設(shè)計第一參數(shù)傳遞過來的是Type*類型的首元素指針,所以具體處理時可以按照如下的“一維數(shù)組”方式來進行(共處理m乘以n個數(shù)據(jù) 也即二維數(shù)組A的m行n列的諸元素。注意,二維數(shù)組的諸元素在內(nèi)存中是按行連續(xù)存放的,所以才能夠這樣來進行處理)。 for (int i=0。 im。 i++) for(int j=0。 jn。 j++) { 對A[i*m+j]進行處理;//按“一維數(shù)組”來對待處理A中第i行第j列的數(shù)據(jù) }16. 編寫一個具有如下樣式的類模板tmplt,用于實現(xiàn)所謂的反序輸出問題,其中使用了類型參數(shù)T(使所處理的元素類型可變化)以及普通參數(shù)n(元素個數(shù)也可變化):template class T, int n class tmplt { T arr[n]。 // n個T類型的數(shù)據(jù)存放于數(shù)組arr之中public: void dataIn()。 //從鍵盤輸入n個T類型數(shù)據(jù)放入arr數(shù)組中 void reverseOut()。 //將arr數(shù)組中的數(shù)據(jù)按輸入的相反順序輸出}。 而后編制主函數(shù),將類模板實例化為某個具體的類并說明類對象,之后通過對象調(diào)用其負責輸入數(shù)據(jù)的成員函數(shù),再通過對象調(diào)用另一成員函數(shù)按反序輸出那些輸入數(shù)據(jù)。17. 編寫一個在具有m行n列的二維數(shù)組各元素中找出最大元和最小元并顯示在屏幕上的函數(shù)模板,并通過主函數(shù)對它進行調(diào)用以驗證其正確性。例如,可設(shè)計該函數(shù)模板的原型為: template class Type void maxMin (Type *A, int m, int n )。 其中二維數(shù)組A的元素類型為Type,數(shù)組A具有m行n列。注意:函數(shù)模板maxMin中要處理二維數(shù)組A的m行n列的諸元素,但設(shè)計第一參數(shù)傳遞過來的是Type*類型的首元素指針,所以具體處理時可以按照如下的“一維數(shù)組”方式來進行(共處理m乘以n個數(shù)據(jù) 也即二維數(shù)組A的m行n列的諸元素。注意,二維數(shù)組的諸元素在內(nèi)存中是按行連續(xù)存放的,所以才能夠這樣來進行處理)。 for (int i=0。 im。 i++) for(int j=0。 jn。 j++) { 對A[i*m+j]進行處理;//按“一維數(shù)組”來對待處理A中第i行第j列的數(shù)據(jù) }18. 編寫程序?qū)Π嘶屎髥栴}進行求解:在8行8列的棋盤上放置8個皇后,使任一個皇后都不能吃掉其他的7個皇后(注:皇后可吃掉與她處于同行或同列或同一對角線上的其他棋子),并將結(jié)果以某種方式顯示出來。例如,當求出下述的一個解時,可輸出如下信息來表示該解(輸出了表示擺放皇后的坐標位置以及“棋盤狀態(tài)”— 棋盤中有皇后的位置放一個“Q”字符,其他位置為“+”字符)。(1,1) (5,2) (8,3) (6,4) (3,5) (7,6
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1