Re: Randomly outputting an array
- From: Richard Heathfield <invalid@xxxxxxxxxxxxxxx>
- Date: Fri, 14 Jul 2006 18:15:45 +0000
ryanarossi@xxxxxxxxx said:
What would be the simplest way to output an array in random order, but
every element in the array MUST be outputted and the elements cannot
repeat? My current code is below, which I simply have a very large
array and I am outputting windows of an arbitary length.
OPTION BASE 0
DIM DECK(52) AS INTEGER
DIM N AS INTEGER
DIM R AS INTEGER
DIM T AS INTEGER
N = 52
REM Populate array
FOR J = 0 TO N - 1 STEP 1
DECK(J) = J
NEXT
REM Display in original order
FOR J = 0 TO N - 1 STEP 1
PRINT J;" ";
NEXT
REM Shuffle
FOR J = 0 TO N - 1 STEP 1
R = INT(RND * (N - J)) + J
T = DECK(R)
DECK(R) = DECK(J)
DECK(J) = T
NEXT
REM Display in shuffled order
FOR J = 0 TO N - 1 STEP 1
PRINT J;" ";
NEXT
END
Converting to a sensible language is left as an exercise.
--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
.
- Follow-Ups:
- Re: Randomly outputting an array
- From: Ico
- Re: Randomly outputting an array
- From: John W. Krahn
- Re: Randomly outputting an array
- References:
- Randomly outputting an array
- From: ryanarossi@xxxxxxxxx
- Randomly outputting an array
- Prev by Date: Re: data structure question
- Next by Date: Re: data structure question
- Previous by thread: Re: Randomly outputting an array
- Next by thread: Re: Randomly outputting an array
- Index(es):
Relevant Pages
|