找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻認識好友、聊天,分享生活趣事你準備好成為出色的版主了嗎?
火影忍者人妻一拳超人fate柯南3d旬果
virgin t英雄傳說立花瑠莉安卓4329599森海幻夢大穴と自

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]海賊王 航海王 11

[簡]假面騎士GOTCHARD

[繁]迷宮飯12~15-

(4月新番)[繁]轉生為

[簡]狼與辛香料 Merch

在店內買個飲料也會出
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
樓主: liforlove
打印上一主題下一主題

[作業]我有一個Visual C++ 版本的程式碼 要轉成Dev-C++版本[複製鏈接]

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
16
發表於 2013-6-23 01:23 AM|只看該作者
本帖最後由 liforlove 於 2013-6-23 01:55 AM 編輯
chevylin0802 發表於 2013-6-23 12:17 AM [url=forum.php?mod=redirect&goto=findpost&pid=241374516&ptid=8794453][/url]
將三種計算方式改寫成物件,標頭檔改成c++專屬的,存成c++專案,原先的副檔名改為cpp ...

改寫成物件什麼意思??
先改標頭檔 這樣下面的計算方式是不是連double的部分也要改
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
17
發表於 2013-6-23 12:09 PM|只看該作者
本帖最後由 chevylin0802 於 2013-6-23 07:26 PM 編輯
liforlove 發表於 2013-6-23 01:23 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

改寫成物件什麼意思??
先改標頭檔 這樣下面的計算方式是不是連double的部分也要改
然後do改成for
...
瀏覽完整內容,請先 註冊登入會員
系統已重置禁訪用戶到普通用戶和密碼一次
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
18
發表於 2013-6-23 12:54 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
chevylin0802 發表於 2013-6-23 12:09 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

暫時的版本
試過應該可以

這一樣有用到副程式嗎?
如果沒有我從int main(int argc, char *argv[])這行下面開始
...
瀏覽完整內容,請先 註冊登入會員

點評

chevylin0802 我的OK耶, 當然print_f <<<這個你要自己修正  發表於 2013-6-23 12:57 PM

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
19
發表於 2013-6-23 01:29 PM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
本帖最後由 liforlove 於 2013-6-23 01:51 PM 編輯
liforlove 發表於 2013-6-23 12:54 PM [url=forum.php?mod=redirect&goto=findpost&pid=241404008&ptid=8794453][/url]
這一樣有用到副程式嗎?
如果沒有我從int main(int argc, char *argv[])這行下面開始
但一開始的class就說 ...

那你的using namespace std;
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
20
發表於 2013-6-23 03:06 PM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
liforlove 發表於 2013-6-23 01:29 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

那你的using namespace std;

跟int main(int argc, char *argv[])這兩行呢?

不一定需要using namespace std

int main() 這段我是照你原本的code 沿用的
...
瀏覽完整內容,請先 註冊登入會員





系統已重置禁訪用戶到普通用戶和密碼一次

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
21
發表於 2013-6-23 04:57 PM|只看該作者
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
chevylin0802 發表於 2013-6-23 03:06 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

不一定需要using namespace std

int main() 這段我是照你原本的code 沿用的

還是不行欸.....
整段如下

...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
22
發表於 2013-6-23 05:00 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
liforlove 發表於 2013-6-23 04:57 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

還是不行欸.....
整段如下

1. 打開新專案, 設為C++專案及Console Application
2. 清除原本的程式碼
3. 將我的程式碼複製並貼上去
...
瀏覽完整內容,請先 註冊登入會員
系統已重置禁訪用戶到普通用戶和密碼一次
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
23
發表於 2013-6-23 05:24 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
chevylin0802 發表於 2013-6-23 05:00 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

1. 打開新專案, 設為C++專案及Console Application
2. 清除原本的程式碼
3. 將我的程式碼複製並貼上去

痾......不行就是不行
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊

點評

chevylin0802 你前面的#define class也要拿掉 那個不能用  發表於 2013-6-23 05:27 PM
chevylin0802 因為你一開始那個int main(int argc ...)本來就不能用在那邊, 我在後面都已經給你int main()了  發表於 2013-6-23 05:25 PM
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
24
發表於 2013-6-23 06:19 PM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
可以是可以了
只不過答案跟原本的似乎不太一樣...左邊為C++版本  右邊為原版


附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
25
發表於 2013-6-23 07:28 PM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
liforlove 發表於 2013-6-23 06:19 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

可以是可以了
只不過答案跟原本的似乎不太一樣...左邊為C++版本  右邊為原版
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cmath>

  4. class NewtonRoot {
  5.       private:
  6.               double x0, x1, eps, max_itera;
  7.       public:
  8.              NewtonRoot(double x0, double x1, double eps, int max_itera)
  9.                         { this->x0 = x0; this->x1 = x1; this->eps = eps; this->max_itera = max_itera; };
  10.              ~NewtonRoot() { };
  11.              double DiffResult();
  12.              double DiffmResult();
  13.              double XnResult();
  14.              double func(double x);
  15. };

  16. double NewtonRoot::func(double x)
  17. {
  18.      double t = x-1.235;
  19.      return pow(t, 5.0);
  20. }

  21. // -------------------------------------------------------
  22. double NewtonRoot::DiffResult(void)
  23. {
  24.      double y0= this->func(this->x0), y1;
  25.      double diff, x2;
  26.      double x1t, x0t;
  27.      int i=0;
  28.      
  29.      x0t=this->x0;
  30.      x1t=this->x1;
  31.      
  32.      do{
  33.            y1=this->func(x1t);
  34.            diff = (y1 - y0) / (x1t - x0t);
  35.            x2 = x1t - y1 / diff;
  36.            x0t = x1t;
  37.            y0 = y1;
  38.            x1t = x2;
  39.            ++i;
  40.      }while(fabs(x1t-x0t)>this->eps && i<this->max_itera);
  41.      print_f("> times: %4d , ", i);
  42.      return x2;
  43. }

  44. // -------------------------------------------------------
  45. double NewtonRoot::DiffmResult(void)
  46. {
  47.      const int m = 5;
  48.      double y0 = this->func(this->x0), y1;
  49.      double diff, x2;
  50.      double x0t, x1t;     
  51.      int i=0;
  52.      
  53.      x0t = this->x0;
  54.      x1t = this->x1;
  55.      
  56.      do{
  57.            y1=this->func(x1t);
  58.            diff = (y1 - y0) / (x1t - x0t);
  59.            x2 = x1t - m * y1 / diff;
  60.            x0t = x1t;
  61.            y0 = y1;
  62.            x1t = x2;
  63.            ++i;
  64.      }while(fabs(x1t-x0t)>this->eps && i<this->max_itera);
  65.      print_f("> times: %4d , ", i);
  66.      return x2;
  67. }

  68. // -------------------------------------------------------
  69. double NewtonRoot::XnResult(void)
  70. {
  71.      double y0 = this->func(this->x0), y1;
  72.      double diff, x2, delta;
  73.      double rate=1.0;
  74.      double x0t, x1t;
  75.      int i=0;

  76.      x0t = this->x0;
  77.      x1t = this->x1;
  78.      srand(time(NULL));

  79.      do{
  80.            delta = y1 = this->func(x1t);
  81.            // if(fabs(y1) < fabs(y0)) rate=1.0;
  82.            // else if(rate > 5E-5) rate*=0.5;
  83.            rate = 5.0 * rand() / RAND_MAX; // more faster

  84.            diff = (y1 - y0) / (x1t - x0t);
  85.            x2 = x1t - rate * y1 / diff;         
  86.            x0t = x1t; y0 = y1; x1t = x2;
  87.            ++i;
  88.      }while(fabs(delta)>this->eps && i<this->max_itera);
  89.      print_f("> times: %4d , ", i);
  90.      return x2;
  91. }

  92. int main()
  93. {
  94.      const double eps=1E-9;
  95.      const int max_iterator=1000;
  96.      double x, low, up;

  97.      low = -10.0, up = low + 1.0;
  98.      class NewtonRoot *n = new NewtonRoot(low, up, eps, max_iterator);
  99.      x = n->DiffResult();
  100.      print_f("NewtonRoot.Diff  func(%+.15e) = %+.15e\n", x, n->func(x));
  101.      x = n->XnResult();
  102.      print_f("NewtonRoot.Xn    func(%+.15e) = %+.15e\n", x, n->func(x));
  103.      x = n->DiffmResult();
  104.      print_f("NewtonRoot.Diffm func(%+.15e) = %+.15e\n", x, n->func(x));
  105.      
  106.      system("PAUSE");
  107.      
  108.      delete n;
  109.      
  110.      return EXIT_SUCCESS;
  111. }
複製代碼
我用這個版本試
都很正常耶...
瀏覽完整內容,請先 註冊登入會員





點評

snowflying 他把 %4d 那些直接用在 cout 沒換掉...,只能說改 code 改掛了吧  發表於 2013-6-24 12:29 AM
系統已重置禁訪用戶到普通用戶和密碼一次
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

  尊貴會員

Melty Snow  雪靈

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
3222
積分
24364 點
潛水值
77160 米
26
發表於 2013-6-24 12:36 AM|只看該作者
liforlove 發表於 2013-6-23 06:19 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

可以是可以了
只不過答案跟原本的似乎不太一樣...左邊為C++版本  右邊為原版

chevylin0802 前輩的 code 我這邊跑也很正常
...
瀏覽完整內容,請先 註冊登入會員

點評

chevylin0802 看得出來他應該是剛學的初學者, 連基本的IDE操作都不會, 只是我分不清楚他是為了數學而寫程式還是為了學程式而寫程式  發表於 2013-6-24 01:47 AM
snowflying 我想應該是他改到出問題了  發表於 2013-6-24 12:57 AM
chevylin0802 FreeBSD可以用, 那也就表示MAC IOS也一樣可以  發表於 2013-6-24 12:52 AM
Melty Snow [雪靈]
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
356
積分
490 點
潛水值
11430 米
27
發表於 2013-6-24 02:21 AM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
snowflying 發表於 2013-6-24 12:36 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

chevylin0802 前輩的 code 我這邊跑也很正常
剛甚至試過砍掉 system("pause"); 並拿到 FreeBSD 上跑,也  ...

是為了數學寫程式!!! 我們只有上課交而且才半學期......
...
瀏覽完整內容,請先 註冊登入會員

點評

snowflying 你把 17 樓的 code 複製貼上,把所有 print_f 改成 printf 存成 .cpp,標頭檔 math.h 改成 cmath,如果出現 printf 未定義,加上 #include <cstdio> 看還有沒有問題   發表於 2013-6-24 02:39 AM
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部