看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) C 問題(Question): 由於非本科生而且剛學c++不久,應該會有很多缺乏常識的程式碼在內>"<。 主要是以演算法筆記的騎士遞迴的C的code試圖改寫成c++版本的,但是一執行就當掉(停止運運作,回傳值很大)。問題應該主要是出在141行,一步一步檢查後發現current接了 get回傳的物件時會爆掉,另外因此另外用新物件去接,答案是正常的,不過只要進入 for迴圈更改到值後就會停止運作。 想請問會發生這種情形的原因是什麼?先謝謝各位大大… 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/zTs5LA s Sent from JPTT on my Sony E5353. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.8.190 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1479024246.A.003.html thinkKing: 電腦當機? 11/13 16:26
ynnjk147: 抱歉 等等更正一下內文 是程式會停止運作11/13 16:29
pttworld: .和com之間多了一個空白字元的網址不正確。11/13 19:40
pttworld: Knight's tour wiki,mxn都是奇數無解,3x3。11/13 22:12
pttworld: 滿足條件不斷地不重複走都可以完成,奇怪的預儲存出路。 11/13 22:13
ynnjk147: 謝謝ptt world大大,用3*3是因為以為跟陣列大小有問題,11/13 22:41
ynnjk147: 不過後來自己發現到真正的問題是在判斷移動到的位子有無11/13 22:41
ynnjk147: 合法時,if判斷式一次把該格有無被佔據也放進去,但是座11/13 22:41
ynnjk147: 標可能已經越界,導致存取超過棋盤陣列大小,因此才會程11/13 22:41
ynnjk147: 式出現問題。先檢查越界再檢查棋格有無被佔據後就沒問題11/13 22:41
ynnjk147: 了,現在已經修正完了。11/13 22:41
※ 編輯: ynnjk147 (223.139.141.152), 11/13/2016 22:44:02