Re: Check value in Array



Hi. Just some thoughts. If you are trying to generate the integers 1-50,
your method needs, on average, to loop 224.9602 times.
For small problems like this (50 out of 50), you may prefer to just generate
the integers 1-50, and then just shuffle the array.
Collections are good if you want 50 numbers out of a larger pool. (like
1000).
Where the trade-off point is would be a personal choice.
--
HTH :>)
Dana DeLouis
Windows XP & Office 2003


"Pradip Jain" <PradipJain@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:8C9BB47F-3FFC-406C-B9B3-01489E069340@xxxxxxxxxxxxxxxx
i have an array of unique numbers (say 50 rows and 1 column, all 50 cells
contain a unique number). I generate a new random number and want to check
if
this new number is already present in this array. One way is to check cell
by
cell to see if the new random number is equal to that cell value. this
works
fine but is slow. I have to repeat this step several thousands time and it
is
making a big difference in computation time. Is there a way by which i can
check the entire array at once to see if a particular value is present?

for example see my code below:

********************************
RandomRowLowerBound = 1
RandomRowUpperBound = 50


NewRandomStartLine:
Randomize
RandomRowGenerated = Int((RandomRowUpperBound - RandomRowLowerBound + 1) *
Rnd + RandomRowLowerBound)
For CounterNumber13 = 1 To RandomRowUpperBound
If RandomRowAlreadyGeneratedArray(CounterNumber13, 1) = RandomRowGenerated
Then
GoTo NewRandomStartLine
End If
Next CounterNumber13
RandomRowAlreadyGeneratedArray(CounterNumber14, 1) = RandomRowGenerated

********************************
Here the program generates a random number in between 1 and 50. Then it
goes
on to check if that number has already been generated in a previous step.
The
program has record of random numbers already generated in
RandomRowAlreadyGeneratedArray which is updated after each successful new
random number found. To repeat my query again - Is there a way by which i
can
check the entire array at once to see if a particular value is present?

TIA


.