Jump to content

Generate random numbers without repeating a value: Difference between revisions

Added solution for Action!
(Added solution for Action!)
Line 18:
:*   [[Random numbers]]
<br><br>
 
=={{header|Action!}}==
<lang Action!>PROC PrintTable(BYTE ARRAY tab BYTE size)
BYTE i
 
FOR i=0 TO size-1
DO
PrintF("%B ",tab(i))
OD
PutE() PutE()
RETURN
 
PROC KnuthShuffle(BYTE ARRAY tab BYTE size)
BYTE i,j,tmp
 
i=size-1
WHILE i>0
DO
j=Rand(i)
tmp=tab(i)
tab(i)=tab(j)
tab(j)=tmp
i==-1
OD
RETURN
 
PROC Main()
DEFINE LEN="20"
BYTE ARRAY tab(LEN)
BYTE i
 
FOR i=1 TO LEN
DO
tab(i-1)=i
OD
FOR i=1 TO 5
DO
KnuthShuffle(tab,LEN)
PrintTable(tab,LEN)
OD
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Generate_random_numbers_without_repeating_a_value.png Screenshot from Atari 8-bit computer]
<pre>
17 6 20 3 8 10 14 12 4 15 2 7 16 18 15 19 9 13 11
 
6 8 1 10 5 20 16 14 3 12 13 2 17 11 9 4 7 19 18 15
 
3 15 13 8 19 5 10 1 17 20 16 4 2 6 14 7 18 11 9 12
 
19 16 15 9 4 14 20 2 11 12 3 6 8 17 15 10 18 13 7
 
14 2 1 18 10 7 13 11 17 4 20 9 6 3 16 19 5 15 12 8
</pre>
 
=={{header|F_Sharp|F#}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.