[問題] 如何將每筆資料命名??

看板C_and_CPP (C/C++)作者 (學著放棄)時間15年前 (2010/08/10 18:29), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串1/1
目前正在寫一套關於貨運路線排班的演算法 但因為我是程式的初學者 所以還有很多地方不懂 目前卡在如何將同一條路線(但不同運送車輛)的路線編碼... 資料如下: 起站 迄站 1 4 2 4 2 4 2 4 2 4 (此代表欲從站點2要送往站點4的貨櫃共有4個, 為有效運算所以把資料通通拆開來表示) 3 4 3 4 3 4 然後因為 1 -> 4 為一條路線 因此想將它編號為路線1 而之後的 2 -> 4 雖然有四個貨櫃 但仍屬同一條路線 因此想將那四個路線分別標示為 路線2 以此類推 因此最終所得到的資料會呈現為 起站 迄站 路線別 1 4 1 2 4 2 2 4 2 2 4 2 2 4 2 3 4 3 3 4 3 3 4 3 我是用fscanf來讀進資料 並且用fprintf來顯示資料的 希望能夠用for迴圈和變數i j 之類的解 因為資料量頗大... 上面只是擷取一部分來做例子~ 我想了好久都想不出那個邏輯>"< 希望有人能夠幫幫忙~謝謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.223.102.111

08/10 18:34, , 1F
站點很多嗎?
08/10 18:34, 1F

08/10 18:37, , 2F
如果站點很少, 可以用一個對稱矩陣來儲存, M[ 1, 2 ]
08/10 18:37, 2F

08/10 18:38, , 3F
跟 M[ 2, 1 ] 是相同的, 裡面可以填入路線編號, 假如
08/10 18:38, 3F

08/10 18:39, , 4F
1 → 4、4 →1 當作不一樣的話也可以作, 就算用三角形
08/10 18:39, 4F

08/10 18:40, , 5F
來節省儲存空間, 這個方法還是大多數兩站點間都有路線
08/10 18:40, 5F

08/10 18:41, , 6F
時比較不浪費, 否則可能要用串列(linked list)了
08/10 18:41, 6F

08/10 18:51, , 7F
目前我手上的資料是只有1~4這四個站點;4是集中站,
08/10 18:51, 7F

08/10 18:52, , 8F
一個counter記錄目前的路線應該編成第幾條, 讀到某條
08/10 18:52, 8F

08/10 18:52, , 9F
1→4代表或要送到集散站,4→1表示或要送到收貨人手上
08/10 18:52, 9F

08/10 18:52, , 10F
未知路線的時候就去查矩陣有沒有存編號, 沒有的話就
08/10 18:52, 10F

08/10 18:53, , 11F
寫入counter目前的值, 有的話表示他已經出現過了
08/10 18:53, 11F

08/11 21:32, , 12F
謝謝loveme00835大~~~:DD
08/11 21:32, 12F
文章代碼(AID): #1COIeC6w (C_and_CPP)
文章代碼(AID): #1COIeC6w (C_and_CPP)