Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Sub Main()
- Make_Random_Number_Without_Replacement_1(RandomRange:=50)
- Make_Random_Number_Without_Replacement_2(RandomRange:=50)
- Console.ReadKey()
- End Sub
- ''' <summary>
- ''' 產生不重複亂數陣列的函式
- ''' </summary>
- ''' <param name="RandomRange">亂數範圍 (由 0 開始)</param>
- Sub Make_Random_Number_Without_Replacement_1(ByVal RandomRange As Integer)
- ' Refresh
- Dim RandomInt(RandomRange - 1) As Integer
- For i As Integer = 0 To RandomRange - 1 Step 1
- RandomInt(i) = i
- Next
- ' Show
- Print_Random_Array(RandomInt)
- ' Make Random Number Without Replacement
- Dim ran As New Random
- For i As Integer = 0 To 100 Step 1
- Dim a As Integer = ran.Next(RandomRange)
- Dim b As Integer = ran.Next(RandomRange)
- Dim tmp As Integer = RandomInt(a)
- RandomInt(a) = RandomInt(b) : RandomInt(b) = tmp
- Next
- ' Show
- Print_Random_Array(RandomInt)
- End Sub
- ''' <summary>
- ''' 產生不重複亂數陣列的函式
- ''' </summary>
- ''' <param name="RandomRange">亂數範圍 (由 0 開始)</param>
- Sub Make_Random_Number_Without_Replacement_2(ByVal RandomRange As Integer)
- ' Refresh
- Dim RandomInt(RandomRange - 1) As Integer
- ' Make Random Number Without Replacement
- Dim ran As New Random
- For i As Integer = 0 To RandomRange - 1 Step 1
- Do
- RandomInt(i) = ran.Next(RandomRange)
- For j As Integer = 0 To i - 1 Step 1
- If RandomInt(i) = RandomInt(j) Then
- Continue Do
- End If
- Next
- Exit Do
- Loop
- Next
- ' Show
- Print_Random_Array(RandomInt)
- End Sub
- ''' <summary>
- ''' 將陣列輸出顯示至主控台視窗上
- ''' </summary>
- ''' <param name="RandomInt">整數一維陣列</param>
- Sub Print_Random_Array(ByVal RandomInt() As Integer)
- For i As Integer = 1 To RandomInt.Length Step 1
- Console.Write(String.Format("{0:00}", RandomInt(i - 1)) & " ")
- If ((i > 0) And (i Mod 5 = 0)) Then Console.WriteLine()
- Next
- Console.WriteLine()
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment