Knuth shuffle: Difference between revisions

no edit summary
m (added related tasks.)
No edit summary
Line 941:
<pre>20 5 6 9 15 23 22 8 4 24 7 11 16 21 2 17
14 10 19 13 12 18 1 3 25</pre>
 
==={{header|IS-BASIC}}===100 PROGRAM "Shuffle.bas"
110 RANDOMIZE
120 NUMERIC ARRAY(1 TO 20)
130 CALL INIT(ARRAY)
140 CALL WRITE(ARRAY)
150 CALL SHUFFLE(ARRAY)
160 CALL WRITE(ARRAY)
170 DEF INIT(REF A)
180 FOR I=LBOUND(A) TO UBOUND(A)
190 LET A(I)=I
200 NEXT
210 END DEF
220 DEF WRITE(REF A)
230 FOR I=LBOUND(A) TO UBOUND(A)
240 PRINT A(I);
250 NEXT
260 PRINT
270 END DEF
280 DEF SHUFFLE(REF A)
290 FOR I=UBOUND(A) TO LBOUND(A) STEP-1
300 LET CARD=RND(UBOUND(A)-LBOUND(A))+LBOUND(A)+1
310 IF CARD<>I THEN LET T=A(CARD):LET A(CARD)=A(I):LET A(I)=T
320 NEXT
330 END DEF<lang IS-BASIC></lang>
 
==={{header|Sinclair ZX81 BASIC}}===
Anonymous user