[問題] 多項式 跑出一堆不預期的數字..

看板C_and_CPP作者 (地球人崛起)時間13年前 (2011/07/14 21:32), 編輯推噓0(0028)
留言28則, 5人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Code Block *[36m額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) *[m X *[36m問題(Question):*[m 跑一跑後會一直重複 "The 1th root = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXX" (XXXXX ---> ㄧ堆數字) 可是我抓不出錯@@ *[36m餵入的資料(Input):*[m 第一步是給多項式的項數 然後是各項的係數 之後是牛頓法逼近的起點 *[36m預期的正確結果(Expected Output):*[m 跑出各項的解 *[36m錯誤結果(Wrong Output):*[m "The 1th root = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXX" (XXXXX ---> ㄧ堆數字) 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/8eSknR7P 補充說明(Supplement): 麻煩各位了 因為實在不知道是哪邊出錯 個人感覺是在 main裡面的do的裡面那出問題 可是又抓不出來 ((菜鳥一隻XDD 請多多包含 可以請大家給點提示嗎? :) -- 我想像中的天堂 -----是一條通往目標的直線~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.121.58.132

07/14 21:48, , 1F
你的外層do...while一開始都把nroot assign 0
07/14 21:48, 1F

07/14 22:13, , 2F
嗯嗯 我改了 但還是出來一堆亂碼 但不會一直重複了!
07/14 22:13, 2F

07/14 22:17, , 3F
你可以給個範例input嗎?
07/14 22:17, 3F

07/14 22:19, , 4F
TWOD polyf 你這支函式不能這樣寫,return local var.
07/14 22:19, 4F

07/14 22:19, , 5F
= = 收回樓上,誤會一場.
07/14 22:19, 5F

07/14 22:20, , 6F
他是return by value應該沒問題吧
07/14 22:20, 6F

07/14 22:20, , 7F
例如我要求X^3+5X^2+6X+3那我依序是打入3(次數)1 5 6 3(係
07/14 22:20, 7F

07/14 22:21, , 8F
然後打入我要從哪一點開始逼近他
07/14 22:21, 8F

07/14 22:23, , 9F
07/14 22:23, 9F

07/14 22:24, , 10F
((只是把外層的do裡的 nroot =0 去掉而已..
07/14 22:24, 10F

07/14 22:24, , 11F
不過還是跑怪數字
07/14 22:24, 11F

07/14 22:28, , 12F
恕我有個疑問,看struct應是有x,y二個未知數,但再看輸入
07/14 22:28, 12F

07/14 22:29, , 13F
又像是只有一個未知數,請問「一元n次多項求」求根嗎?
07/14 22:29, 13F

07/14 22:43, , 14F
@@我們老師是說 他定義這樣 是要把他的東西打包 因為C一次
07/14 22:43, 14F

07/14 22:44, , 15F
只能輸入一個得到一個 所以是為了方便傳送 ((他把fx和df
07/14 22:44, 15F

07/14 22:44, , 16F
包在一起了
07/14 22:44, 16F

07/14 22:44, , 17F
是"一元n次多項求"對
07/14 22:44, 17F

07/14 22:46, , 18F
所以是要以現有的架構下去修的意思?
07/14 22:46, 18F

07/14 22:53, , 19F
這是牛頓法嗎?
07/14 22:53, 19F

07/14 22:56, , 20F
勉強算是,除了polyf裡面求解有問題,架構也真的不好.
07/14 22:56, 20F

07/14 23:02, , 21F
恩..如果可以的話就這樣改吧!
07/14 23:02, 21F

07/14 23:02, , 22F
不過不行的話全改也是可以...
07/14 23:02, 22F

07/14 23:08, , 23F
要不要把sum砍掉
07/14 23:08, 23F

07/14 23:14, , 24F
成功了!
07/14 23:14, 24F

07/14 23:14, , 25F
我把最下面的nroot++搬到下面一點就可以了
07/14 23:14, 25F

07/14 23:15, , 26F
只是不知道為什麼..
07/14 23:15, 26F

07/14 23:15, , 27F
奉上改過的程式碼 : http://codepad.org/eZ0wnjZ6
07/14 23:15, 27F

07/14 23:17, , 28F
原來只是index問題orz
07/14 23:17, 28F
文章代碼(AID): #1E7k_S5v (C_and_CPP)
文章代碼(AID): #1E7k_S5v (C_and_CPP)