Absolut Newbie wrote:
Hi,
(reposting this since i did not see the original in my newsreader or google)
I want to generate 10 numbers from 1..15 and put them in an array.
easy ?
while ($fill < 10){
$foo = int(rand(15));
unshift(@array, $foo);
$fill++;
}
print "the [EMAIL PROTECTED] is --> @array\n";
my problem is that many times the numbers repeat themselves in the array.
the @array is --> 5 10 8 3 0 13 14 9 0 10
how can i generate 10 unique (non repeating) numbers from a range to put in
the array ?
thanx.
---
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.719 / Virus Database: 475 - Release Date: 7/18/2004
Be patient when posting.
This will generate numbers between 1 and 15.
foreach (1..10) {
my $bar = int(rand(15)) + 1; # Since you want numbers 1..15 not 0..14
unshift(@array, $bar);
}
Since rand uses the internal clock (correct me if I am wrong) you're bound
to get repeated numbers. If you only want non-repeating numbers, run through
the array and only unshift if the number is not in the array already.
--
Flemming Greve Skovengaard The prophecy of the holy Norns
a.k.a Greven, TuxPower a tale of death and doom
<[EMAIL PROTECTED]> Odin saw the final sign
4112.38 BogoMIPS the end is coming soon
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>