引用 | 編輯
n1023520
2010-10-29 23:58 |
樓主
▼ |
||
x0
1.用2008的VB,寫一個可以移動Listbox選項順序的程式,其中按下上移鈕(Button1)可以把被選項上移一欄,按下下移鈕(button2)可以把被選項下移一欄。 2.要先去減掉最高分與最低分再平均才是歌者的得分,計 .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
三仙
2010-10-30 22:22 |
1樓
▲ ▼ |
1.用2008的VB,寫一個可以移動Listbox選項順序的程式,其中按下上移鈕(Button1)可以把被選項上移一欄,按下下移鈕(button2)可以把被選項下移一欄。 第一題 防呆的部份沒有做 你自已加強 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For i As Integer = 0 To 10 ListBox1.Items.Add(i) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '上移一欄 ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1 End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '下移一欄 ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1 End Sub x0 |
引用 | 編輯
n1023520
2010-10-31 00:05 |
4樓
▲ ▼ |
抱歉忘記說,listbox的內容是6個人名,分別是 Peter、 Jimmy 、Thomas、Nick 、Karen、Ken
而不是0到10 謝謝 x0 |
引用 | 編輯
三仙
2010-10-31 08:22 |
6樓
▲ ▼ |
下面是引用 n1023520 於 2010-10-31 00:07 發表的 : 問題已經被奇摩知識自動移除了 不能再連結了 x0 |
引用 | 編輯
n1023520
2010-10-31 14:21 |
7樓
▲ ▼ |
http://tw.knowledge.yahoo.com/question/question?qid=1306050107747
這是是一樣的題目,但不是2008版本的,你可以幫我做修改嗎? 而有ListBox的內容以設定為,6個人名分別為Peter、Jimmy、Thomas、Nick、Karen、Ken 然後這6個人名可以隨著上移或下移改變順序 拜託你幫幫我,謝謝 x0 |
引用 | 編輯
ebolaman
2010-10-31 17:38 |
9樓
▲ ▼ |
我提供一種方法:
用氣泡排序法,將一陣列的值 依序挑出兩個來比較大小 例如從左邊大 排到 右邊小: {67, 98, 80} 先比較 No. 1 & 2 ,我們要前面的數值都大於後面的 但是 67 > 98 這樣不對,所以就把兩個數值交換,然後變成 {98, 67, 80} 檢查 No. 1 & 2 OK,但 67 > 80 又錯了,所以再交換 最後變成 {98, 80, 67} 就這樣 98 像是氣泡一般浮到左邊去 所以呢,先排完六個人的各別成績後,將 Index 0 與最後一個 忽略不計 For i = 1 To Count - 2 這樣 將中間剩餘的數值加起來除以 (Count - 2) 就是每個人的平均 最後同樣動作,排序六個人的平均成績,再用 For Next 一一顯示出來即可 很像是 先橫向排序,再來縱向排序 如果能用一個 程序來做 包括兩個 陣列排序的動作,程式碼可以減半哦 x0 |
引用 | 編輯
n1023520
2010-10-31 18:51 |
10樓
▲ ▼ |
因為我對寫程式的慨念還不是很聊解,
所以你說的方是我看不懂, 是否可以跟我說關於第二題的程式碼怎麼寫, 還有是用主控制台寫程式還是用應用程式寫程式 拜託各位的幫忙, 謝謝各位VB大師的解答 x0 |
引用 | 編輯
n1023520
2010-10-31 19:13 |
11樓
▲ ▼ |
因為我對於寫VB的程式,
還不是很清楚, 可以說是一竅不通, 所以第二題說的解題方法我不了解, 是否可以跟我說關於第二題的程式怎麼寫啊! 還有第二題的程式是要寫在應用程式還是主控台應用程式? 拜託各位大師幫幫我, 並且謝謝過位大師的幫忙。 x0 |
引用 | 編輯
三仙
2010-11-01 11:39 |
12樓
▲ ▼ |
下面是引用 ebolaman 於 2010-10-31 17:38 發表的 : 關於排序,提供大家多一點的訊息 演算法 x1 |
引用 | 編輯
n1023520
2010-11-02 22:49 |
13樓
▲ ▼ |
還是看不懂意思
能不能直接跟我說程式碼怎麼寫, 還有程式碼是要寫在應用程式 或 主控台應用程式 拜託各位VB大師幫幫忙, 因為必須在這個禮拜五前完成繳交, 在此先謝謝各位的幫忙 x0 |
引用 | 編輯
ebolaman
2010-11-04 18:02 |
14樓
▲ ▼ |
參考~ http://tw.knowledge.yahoo.com/question/question?qid=1609072301487
VB2008 有這些型態,可以直接排序 我比較崇尚的是 作一個 class 來排序,主程式碼會很簡潔 x0 |
引用 | 編輯
三仙
2010-11-04 18:54 |
15樓
▲ ▼ |
下面是引用 ebolaman 於 2010-11-04 18:02 發表的 : 我覺得學校老師出這種作業 應該會指定客製排序 而不會讓學生套用任何語法 ps.這位發帖的樓主 建議你問一下老師 題 2 二維陣列的宣告 好像不是那樣 x0 |
引用 | 編輯
taiwanplope
2010-11-04 19:21 |
16樓
▲ ▼ |
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim 姓名() = {"吳國民", "李得勝", "蔡可申", "陳夢嬌", "方十全"} Dim 評分(,) = {{77, 78, 78, 84, 84, 79, 77, 76, 76, 81}, _ {89, 89, 92, 88, 91, 87, 86, 90, 85, 89}, _ {89, 82, 87, 83, 82, 89, 86, 86, 84, 80}, _ {86, 86, 90, 89, 81, 86, 90, 85, 87, 86}, _ {89, 88, 87, 88, 86, 84, 86, 93, 84, 87}} Dim maxidx As Integer = UBound(姓名), maxidx2 As Integer Dim 平均(maxidx), minv, maxv As Double For i = 0 To maxidx minv = 評分(i, 0) maxv = 評分(i, 0) maxidx2 = UBound(評分, 2) For j = 0 To maxidx2 If minv > 評分(i, j) Then minv = 評分(i, j) If maxv < 評分(i, j) Then maxv = 評分(i, j) 平均(i) += 評分(i, j) Next 平均(i) = Math.Round((平均(i) - minv - maxv) / (maxidx2 - 1), 2) Next Array.Sort(平均, 姓名) Dim m As String = "" For i = maxidx To 0 Step -1 m &= (maxidx - i + 1) & ": " & 姓名(i) & " " & 平均(i) & vbCrLf Next MsgBox(m) End End Sub End Class 程式碼送上 PS. 三仙 幫我解 = . = 外面那個猜數字 !!!!!! x0 |
引用 | 編輯
ebolaman
2010-11-04 20:36 |
17樓
▲ ▼ |
下面是引用 taiwanplope 於 2010-11-04 19:21 發表的 : 太厲害了~ 原來根本不用排序,只要把最大與最小 殺掉 就能得知道平均了.. x0 |
引用 | 編輯
taiwanplope
2010-11-04 21:27 |
20樓
▲ ▼ |
免客氣 我的猜數字 沒人幫我解決 wow !!!!!!!摳連
x0 |
引用 | 編輯
taiwanplope
2010-11-04 21:28 |
21樓
▲ |
我不是大師= =+ 我只是個大2生 哈哈哈
x0 |