32 lines
607 B
Text
32 lines
607 B
Text
$ include "seed7_05.s7i";
|
|
|
|
const type: intArray is array integer;
|
|
|
|
const proc: shuffle (inout intArray: a) is func
|
|
local
|
|
var integer: i is 0;
|
|
var integer: k is 0;
|
|
var integer: tmp is 0;
|
|
begin
|
|
for i range maxIdx(a) downto 2 do
|
|
k := rand(1, i);
|
|
tmp := a[i];
|
|
a[i] := a[k];
|
|
a[k] := tmp;
|
|
end for;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
local
|
|
var intArray: a is 10 times 0;
|
|
var integer: i is 0;
|
|
begin
|
|
for key i range a do
|
|
a[i] := i;
|
|
end for;
|
|
shuffle(a);
|
|
for i range a do
|
|
write(i <& " ");
|
|
end for;
|
|
writeln;
|
|
end func;
|