看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) Win 10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Dev C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 試著寫了一下,目前的困難點在手動輸入資料之後,不知如何把前置點儲存到另一個陣列 中。 餵入的資料(Input): http://codepad.org/0Fjsx4hz 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) 補充說明(Supplement): 前次po文沒附程式檔被刪文,會再留意,謝謝版大提醒 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.137.84.49 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1574727997.A.663.html ※ 編輯: asps5711 (101.137.84.49 臺灣), 11/26/2019 08:27:50
wargods8402: 請問前置點 是指? 11/26 12:03
asps5711: 起始點的意思 11/26 12:32
wargods8402: 那你的起始點是哪幾筆資料...? 11/26 13:00
asps5711: 123 134 145 245 256 356等7段線,第一位數是起始點、 11/26 13:53
asps5711: 第二位數是終點、第三位數是起始點到終點的距離 11/26 13:53
wargods8402: 所以是想計算最短路徑嗎? 11/26 14:21
asps5711: 是要把圖存到電腦裡;最短路徑也是後面要寫的程式,想 11/26 15:14
asps5711: 說一步步來解決 11/26 15:14
wargods8402: 所以你要把每個線段的起始點,另存至另外的陣列嗎? 11/26 15:30
wargods8402: 如果是的話,你的程式中就有解法了 11/26 15:30
asps5711: 我一開始就有用一個陣列儲存起始點喔,現在是要把起始點 11/26 18:11
asps5711: 用前星法來儲存。還是您有發現什麼是小弟疏漏的嗎?懇 11/26 18:11
asps5711: 請指點迷津 11/26 18:11
wargods8402: 抱歉...前向星我不會...我以為你只是要陣列轉存而已. 11/27 22:27
wargods8402: .. 11/27 22:27
suhorng: 另外開一個陣列紀錄邊從哪一個索引開始 11/28 17:19
suhorng: 然後換到下一個起始點的時候就知道下一個點的邊開始位置 11/28 17:20
suhorng: int start[]; 11/28 17:20
suhorng: start[1]=0; 11/28 17:20
suhorng: for(i = 0; i < count; i++){ 11/28 17:21
suhorng: if(e1[i] != e1[i+1]){ 11/28 17:21
suhorng: diff_num++; 11/28 17:21
suhorng: start[diff_num-1]=i+1 11/28 17:22
suhorng: } 11/28 17:22
suhorng: } 11/28 17:22
suhorng: 這樣每個點 k 的邊就是從 start[k] 到 start[k+1]-1 11/28 17:23