Oct 1, 2008

[VB]樂透49取6

49取6,不重複且由小至大排序



Public Class 抽6個

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
produce_number()
End Sub
Public Sub produce_number()
Dim number(6) As Integer '用陣列取6個亂數
Dim i As Integer '抓亂數用
Dim j As Integer '抓亂數用
Dim exist As Boolean '確認用的指標
Randomize()
For i = 0 To 5 '用i表示抽出6個數字
Do
number(i) = (Int(49 - 1) * Rnd() + 1) '這樣num(1) = Int(Rnd() * 49) + 1 應該也行
exist = False
For j = 0 To (i - 1)
If number(i) = number(j) Then exist = True : Exit For
Next
If Not exist Then Exit Do
Loop
Next
'-------------排序--------------
Dim k1 As Integer '排序用
Dim k2 As Integer '排序用
Dim TEMP As Integer '排序暫存交換用
For k1 = 0 To 5
For k2 = (k1 + 1) To 5
If number(k1) > number(k2) Then
TEMP = number(k2)
number(k2) = number(k1)
number(k1) = TEMP
End If
Next
Next
'-------------排序--------------
Dim k As Integer '輸出用的
For k = 0 To 5 '輸出到textbox
Controls("TextBox" & (k + 1)).Text = number(k)
Next
End Sub

End Sub
End Class

No comments:

Post a Comment