線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2853
推到 Plurk!
推到 Facebook!

大數運算+分數運算+多項式運算+四則運算

 
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-04 07:13:24 IP:211.76.xxx.xxx 未訂閱
之前看到板主出的大數運算題目,讓我想到以前也是交了同樣的作業 另外還有多加了一些功能:結合大數運算、分數運算、多項式運算、四則運算。 使用分數計算可以減少在多次乘除運算之後造成的浮點數誤差。 這些都已經做成了容易使用的 >) 源碼用法如下: < class="code"> //--------大數--------- //arbitrary是大數的class arbitrary value1("2319236912369126397126937129751923715"); arbitrary value2("3464647383471938496123123123"); value1 *= value2; cout << value1; //--------分數--------- //rational是template class,typename就是分子、分母的資料型態 rational value1; rational value2; rational value3; // 分數結合大數 //--------多項式--------- //polynomial是template class,現在只有做到支援單一變數'x' //第一個typename是係數的資料型態 //第二個typename是指數的資料型態 polynomial pa1; polynomial< rational,int> pa2;// 結合大數分數 //---------四則運算-------- //calculator是template class,第一個typename就是計算單元的資料型態 calculator ca1; calculator ca2; //------將以上的功能全加在一起 calculator< polynomial< rational,int> > ca; /*再附上dos下的主程式碼,應該很容易可以了解*/ #pragma hdrstop #include #include #include "Arbi.h" #include "Polynomial.h" #include "Calculator.h" #include "Rational.h" //--------------------------------------------------------------------------- #pragma argsused void main(void) { try{ calculator< polynomial< rational,int> > ca; string sa; do { cout.precision(9); cout << endl <<"Input The Expression:"; cin >> ca; cout << ca.Result() << endl; cout <<"Continue?\(y\\n\)"; } while(getche() == 'y'); } catch(...) { cout << endl << "You have input a illegal expression !!!"; getche(); throw; } } //以下是例子 //1.計算2的1000次方 //2.計算(1 十 x)的20次方 //3.計算(1234875x 十 1237654x^2 一 436763x^5)*(x 十 x^2 十 x^3)^2 發表人 - pwipwi 於 2004/05/04 07:22:08
附加檔案:49456_Math.zip
系統時間:2024-05-11 4:07:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!