To generate 10 unique, non-doubling random numbers this works:
Let's have a closer look at this code step by step. First we set a Variable called "i" which is set to the value 1, for use in the Loop While.
That's it!
Courtesy: flashkit.com
Set Variable: "i" = 1 Loop While (i <> 11) Set Variable: "rnd" = Random (10) Set Variable: "x" = 1 Loop While (x <> (Length(Temp)+1)) If ((Substring (Temp, x, 1)) eq rnd) Set Variable: "rnd" = "" End If Set Variable: "x" = x+1 End Loop If (rnd ne "") Set Variable: "Temp" = Temp & rnd Set Variable: "i" = i + 1 End If End Loop
Use it at random!
Let's have a closer look at this code step by step. First we set a Variable called "i" which is set to the value 1, for use in the Loop While.
Set Variable: "i" = 1The first loop runs 10 times, because we need 10 numbers.
Loop While (i <> 11)We use the Random function and put its outcome into Variable "rnd"
Set Variable: "rnd" = Random (10)The Variable "x" is used to check the content of Variable "Temp" which will hold the final result.
Set Variable: "x" = 1And now for the tougher bit:
Loop While (x <> (Length(Temp)+1)) If ((Substring (Temp, x, 1)) eq rnd) Set Variable: "rnd" = "" End If Set Variable: "x" = x+1 End LoopThis checks whether a generated random number, held in Variable "rnd", already exists in the "Temp" variable. This is done by looping through every digit in "Temp". The number of loops is determined by the Length function. If the number does exist the variable "rnd" is cleared. If the generated number is not present in "Temp" it is added to it.
If (rnd ne "") Set Variable: "Temp" = Temp & rnd Set Variable: "i" = i + 1 End IfWe continue the Loop by increasing "i".
That's it!
Courtesy: flashkit.com
No comments:
Post a Comment