線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1036
推到 Plurk!
推到 Facebook!

三維陣列排序問題

尚未結案
lonielonies
一般會員


發表:6
回覆:0
積分:1
註冊:2005-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-19 17:00:23 IP:211.76.xxx.xxx 未訂閱
如同我前面幾個問題所問的 我現在在實作下列習題 94/01   中壢 NOVA   桃園   $60000   $20000    $2000 93/11   台北 NOVA   台北   $50000   $40000    $1000 算出總消費額後 依照總消費額大小做大到小的排序 也就是說第二項的消費額91000大於第一項的82000 所以必須將第一項的資料和第二項的資料互調 我是用三維陣列去儲存這些字串 lonie[x][y][z]   ex: lonie[0][0]=93/11 我的想法依照以往所寫過的習題來做 先設一個三維陣列  因為第一項的資料存入此備用陣列 然後將第二行的資料存入第一項存放資料的位置 再將存在備用陣列的資料存入第二項資料位置 可是我存完執行後,出現了亂碼 之前我有弄錯題目,看成由小排到大 雖然說意思差不多,可是那時候我執行頂多是日期不知道為啥被改掉 後來我將題目改成題目需求後 反而出現了亂碼,我的想法應該沒錯 以下是我的程式碼 if(sum1[i]=0;x--) { mini[i][y][x]=lonie[i 1][y][x]; mini[i][y][strlen(lonie[i 1][y])]='\0'; } for(x=strlen(lonie[i][y])-1;x>=0;x--) { lonie[i 1][y][x]=lonie[i][y][x]; lonie[i 1][y][strlen(lonie[i][y])]='\0'; } for(x=strlen(lonie[i][y])-1;x>=0;x--) { lonie[i][y][x]=mini[i 1][y][x]; lonie[i][y][strlen(mini[i 1][y])]='\0'; } } } 如果我有錯,請告訴我我錯在哪邊,或是我想法錯了 還是有另一種方法可以三維陣列的資料調動 謝謝
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-19 21:59:43 IP:203.204.xxx.xxx 未訂閱
您好: 給您一個方向,其實你不需要真的去排序那3個陣列,太累了. 比較easy的方式是您只要有辦法排出總額的資料誰大誰小就可以了 S[0]='90000'==>2 S[1]='80000'==>3 S[2]='100000'=>1 紀錄S1[0]為2,S1[1]為3,S1[2]=1 設立2層回圈去抓您的3維陣列,當外層i=S[j]值時就存下去. 例: i=S[j] 1=S[2] 2=S[0] 3=S[1]
系統時間:2024-05-19 17:46:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!