On 28-Jun-08, at 1:22 PM, tobieichner77-rb@yahoo.de wrote:
Hello,
I wrote a small app that generates six random numbers out of a
range from 1 to 70. The requirement is that no single number is
used twice.
So far the only solution I came upon to prevent double entries is
to compare all entries with each other. In the case of two equal
entries, I simply re-create the random array again and do another
check.
For example:
while x(1) = x(2) or x(1) = x(3) or x(1) = x(4) or x(1) = x(5) or
x(1) = x(6) or x(2) = x(3) or x(2)= x(4) or x(2) = x(5) or x(2)= x
(6) or x(3)= x(4) or x(3) = x(5) or x(3) = x(6) or x(4) = x(5) or x
(4) = x(6) or x(5) = x(6)
for y = 1 to 6 step 1
x(y) = r.inrange(1,70)
next
wend
As you see, this leads to a long and ugly "or" chain, which will
finally end into a total mess if there are, let's say, twenty
numbers to compare with each other.
Can you give me a hint how I can manage this easier and more
convenient ?
while x.ubound < 5 // 0 to 5
dim newNumber as integer = r.inrange(1,70)
if x.Indexof(newNumber) < 0 then x.Append newNumber
wend
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|