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

關於排序

尚未結案
hbl1123
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-21 16:50:54 IP:219.81.xxx.xxx 未訂閱
大家好,我是剛加入的新手,我想請問一下: 我有兩個btn(一個產生陣列、一個排序)、一個listbox(顯示陣列的所有數值),假如我需要二個陣列(例如a和b陣列),a陣列是產生亂數用的,而b陣列則是儲存a陣列中已排序好的數值(由大到小或由小到大),那麼排序的程式該怎麼寫~ 有人給我的建議是:在a陣列中,先找出最大值(xMax),然後此最大值放在b陣列中,在把a陣列的最大值*(-1)[這樣下次尋找後,就不會出現重覆],再從a陣列找出除了xMax以外的最大值,再放入b陣列,以此類推~最後,b陣列就可以在listbox上顯示排序好的陣列。下面是我寫的簡短式子,可以run,可是不會出現結果,麻煩幫我看一下>"< procedure TForm1.Button2Click(Sender: TObject); var i,j,k,xMax:integer; begin for i:=1 to 5 do if xScore[i]>xMax then xMax:=xScore[i]; xMax:=j; j:=xScore[k]; listbox1.Items.add(inttostr(xScore[k]));
supman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-21 18:18:54 IP:61.70.xxx.xxx 未訂閱
不曉得何須這麼麻煩? ListBox1.Sorted:=true; 這樣就可以排序了.
hbl1123
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-21 19:28:40 IP:219.81.xxx.xxx 未訂閱
引言: 不曉得何須這麼麻煩? ListBox1.Sorted:=true; 這樣就可以排序了. 你是說在排序的btn上只要寫ListBox1.Sorted:=true;就好了嗎
supman
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-22 02:35:42 IP:219.68.xxx.xxx 未訂閱
把你產生陣列的的資料直接填到Listbox中,然後將ListBox.Sorted設為true就會排序了,自己先測一下。
hbl1123
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-22 11:58:47 IP:219.81.xxx.xxx 未訂閱
引言: 把你產生陣列的的資料直接填到Listbox中,然後將ListBox.Sorted設為true就會排序了,自己先測一下。 感謝上面那位大大,這麼晚了,還上來幫我解答。 可是,我還是不太了解你的意思,我把產生陣式po上來,你幫改一下好了>"< procedure TForm1.btnArrayClick(Sender: TObject); var i:integer; begin Randomize; listbox1.Items.Clear ; for i := 1 to 5 do begin xEng[i] := Random(100); xMath[i] := Random(100); end; for i := 1 to 5 do xAvg[i] := (xEng[i] *3 xMath[i] *4)/7; listbox1.Items.add('Nun Avg '); for i := 1 to 5 do listbox1.Items.add(format('- :%7.2f',[i,xAvg[i]])); 另外,我還有個疑問,我的需求是,我要有兩個btn,一個是產生陣列用的,另一個則是按下btn後,listbox內的資料就會自動排序,可是,如果照你上面所寫的去做,那我排序這個btn就毫無用處了丫 不好意思,雖然我已學了一年,但始終不太delphi這個東西,所以疑問比較多>"<
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-22 13:07:52 IP:203.69.xxx.xxx 未訂閱
樓上的對話, 沒對攏...... 一個是新手, 不了解 ListBox 已經提供 Sort 的功能, 只是想找人幫忙寫交作業; (看起來像是這樣) 一個是熱心的 supman "....雖然我已學了一年" 可是寫程式基本觀念令人無法茍同這句話, 連基本的運算邏輯都搞錯... 這個問題嚴格說起來跟 delphi 無關, 根本是程式錯誤..就算用 C 寫也不會跑出結果....
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-22 13:12:14 IP:203.69.xxx.xxx 未訂閱
這個網站有這麼多人熱心解答各種疑問, 都是花時間去做義工, 寫程式基本功要自己去練不要心存僥倖的來利用....
hbl1123
一般會員


發表:2
回覆:5
積分:1
註冊:2005-07-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-07-22 15:16:46 IP:219.81.xxx.xxx 未訂閱
感謝supman,我剛已照你給我的方法做了,已經可以排序了,可是數值是由小到大,如果由大到小,又要如何做呢
supman
尊榮會員


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-07-22 15:40:42 IP:61.70.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?topic_id=53743 參考這一篇. 寫了一年這個還不能解決,應該是太混了吧...@@" 另外你有問題,別人回答了,請按照那方式操作看看,有問題再發問,不然自說自話別人很難回答下去.
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-07-31 20:51:04 IP:61.64.xxx.xxx 未訂閱
引言: 不好意思,雖然我已學了一年,但始終不太delphi這個東西,所以疑問比較多>"<
我也看過類似狀況 「學吃飯學了一年,但始終不太懂如何開口把飯放進嘴裡 」 基本上,這跟 白x 沒兩樣 基本的東西,不瞭解,跟不去瞭解,跟很努力瞭解但就是不會,都是一樣的,你可以不要學了 良心的建議,你不要寫程式好了,對你來說太難了 不是刁難你,是不願意看你成為可憐的程式人員,程度非常糟糕卻又不自知,永遠不能進步,只能一輩子被踩在別人的腳下,別人晉升了,你還在原地 也許你有別的天分啊~別浪費時間在這裡,一事無成,往別的地方發展,說不定你就是將來的大老闆
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-07-31 22:52:54 IP:218.175.xxx.xxx 未訂閱
先向大家道歉 插個話    malanlk 網友 你好:    我發給你的簡訊你一直沒看 所以在此妨礙大家插個話告訴你  我不知道你是否有使用過 不過使用方法如下 本站使用說明
系統時間:2024-04-19 9:31:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!