Non-Repeating Random Numbers with Arrays - Tutorial
Heres your chance to share your own tutorials with the community. Just post them on here. If your lucky they may even be posted on the main site.
2 posts
Page 1 of 1
Hello guys.
Here is my new tutorial.
Hope you like it!
Intro
Here is a simple tutorial to help pick six non-repeating numbers or any non-repeating elements you want to use. i.e. the Alphabet.
1. As always we start with the Dim statements
How? Well, first the random number is checked to see if it exists in our arrNumber(y), remember the tutorials on Arrays? So it looks at the first place in the array which first time the loop is entered is (0) in fact this is what the array looks like to start with.
See the code below.

Hope you liked my tutorial!
If you like my tutorials then please give me +rep!
Credits : VBDotNetHeaven
Here is my new tutorial.
Hope you like it!

Intro
Here is a simple tutorial to help pick six non-repeating numbers or any non-repeating elements you want to use. i.e. the Alphabet.
1. As always we start with the Dim statements
Code: Select all
There are only two controls needed on the form one is a Button and the other is a Label. In the Buttons Event Procedure is where all the code is placed to pick the random numbers and display the results in the Label. First make sure that the Label is empty.Dim intNumber As Integer
Dim arrNumber(0 To 5) As Integer
Dim i, x, y As Integer
Code: Select all
2. Now we need to set up a For / Next Loop to hold six numbers,Label1.Text = ""
Code: Select all
So, our For / Next Loop will go around six times, but without some more code it will not be very interesting. What follows next is the code that will do the magic. You will notice that inside our For / Next x Loop we have a nested For / Next y Loop. This is the Loop that checks if the Random number has already been picked.For y = 0 To 5
Next x
How? Well, first the random number is checked to see if it exists in our arrNumber(y), remember the tutorials on Arrays? So it looks at the first place in the array which first time the loop is entered is (0) in fact this is what the array looks like to start with.
Code: Select all
After the y Loop has finished and no numbers in the arrNumber have been found it moves on to the last bit of code inside the x For / Next Loop so that we get, assuming our first Random Number was 19 the following arrNumber(0) = 19 once this is done off it goes again First y Loops to see if the second Random Number has been already been picked. Array y now looks like thisarrNumber(0) = 0
arrNumber(1) = 0
etc
arrNumber(5) = 0
Code: Select all
If the second Random Number is 38 then as it Loops through the y Array it will not find 38, so it moves on and places 38 in the x Array (Not Medical!) Off it goes again this time let's say the Random Number is 19 again, as the y Loop is performed it finds 19 in arrNumber (0) position so now it uses GoTo and jumps up to Start: where it picks another Random Number to try, it keeps doing this until all six places in the Array are filled with Non-Repeating Numbers.arrNumber(0) = 19
arrNumber(1) = 0
etc
arrNumber(5) = 0
See the code below.
Code: Select all
The last stage is to place the numbers in to the Label For x = 0 To 5
Start: Randomize()
intNumber = Int((49 * Rnd()) + 1
For y = 0 To 5
If intNumber = arrNumber(y) Then
Then GoTo
Start()
End If
Next y
arrNumber(x) = intNumber
Next x
Code: Select all
The full code is here for you to Copy (Ctrl+C) and Paste (Ctrl+V)For i = 0 To 5
Label1.Text = Label1.Text & (arrNumber(i)) & " , "
Next
Code: Select all
And you are done!! Public Class Form1 ' Dimension the variables used in the programme
Dim intNumber As Integer
Dim arrNumber(0 To 5) As Integer
Dim i, x, y As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Make sure the Label is clear
Label1.Text = ""
'We want a total of 6 Numbers (UK Lottery)
For x = 0 To 5
Start: Randomize()
intNumber = Int((49 * Rnd()) + 1) ' Random number 1 to 49
For y = 0 To 5 ' Check arrNumber (y)
'If intnumber has already been selected,
'Then go and select another one.
If intNumber = arrNumber(y) Then
Then GoTo Start
End If
Next y
'Place the next non-repeated number in the arrNumber(x).
arrNumber(x) = intNumber
Next x
'----------------------------------------------------
For i = 0 To 5
Label1.Text = Label1.Text & (arrNumber(i)) & " , "
Next
End Sub
End Class

Hope you liked my tutorial!
If you like my tutorials then please give me +rep!

Credits : VBDotNetHeaven
Instead of LOL use this -
LSIBMHBIWFETALOL
Which means -
Laughing silently in between my head because it wasn't funny enough to actually laugh out loud!
LSIBMHBIWFETALOL
Which means -
Laughing silently in between my head because it wasn't funny enough to actually laugh out loud!
Original Thread: ( http://www.vbdotnetheaven.com/UploadFil ... omize.aspx )
Thread Created By: Graham August 02, 2006
Thread Created By: Graham August 02, 2006
2 posts
Page 1 of 1
Copyright Information
Copyright © Codenstuff.com 2020 - 2023