I'm trying to generate an array which would have ten variables, each containing a random number from 1 to 10. The random integer can not be in the array more than once. Each time the program would execute, the array would be reset with different numbers. For example, in English, what I would like is essentially:
randint[1] = random number <= 10 and >= 1
randint[2] = random number <= 10 and >= 1 and <> randint[1]
randint[3] = random number <= 10 and >= 1 and <> randint[2]
randint[4] = random number <= 10 and >= 1 and <> randint[3]
randint[5] = random number <= 10 and >= 1 and <> randint[4]
randint[6] = random number <= 10 and >= 1 and <> randint[5]
randint[7] = random number <= 10 and >= 1 and <> randint[6]
randint[8] = random number <= 10 and >= 1 and <> randint[7]
randint[9] = random number <= 10 and >= 1 and <> randint[8]
randint[10] = random number <= 10 and >= 1 and <> randint[9]
Simply, I am trying to sort the numbers 1 to 10 in a random order in an array.
So far my code is as follows:
For i = 1 To 10
While rand_int[i] = prev_int
rand_int[i] = Math.GetRandomNumber(9)+1
prev_int = rand_int[i]
EndWhile
EndFor
I have also tried instead
rand_int[1] = Math.GetRandomNumber(9)+1
for i = 2 To 10
rand_int[i] = Math.GetRandomNumber(9)+1
While rand_int[i] = rand_int[i-1]
rand_int[i] = Math.GetRandomNumber(9)+1
EndWhile
EndFor
Any assistance would be greatly appreciated, Thanks.
Boom! Got it figured out. I created an array of numbers, that counted from one to ten, and then I scrambled the order of the numbers:
For i = 1 To 10
Randint[i] = i
EndFor
For i = 1 To 30 'The Larger the number, the more it scrambles the order
Rand1 = Math.GetRandomNumber(10)
Rand2 = Math.GetRandomNumber(10)
OldRandint = Randint[Rand1]
Randint[Rand1] = Randint[Rand2] 'Here we are swapping two random varibles in the array
Randint[Rand2] = OldRandint
EndFor
For i = 1 To 10
TextWindow.WriteLine(Randint[i])
EndFor