Du brauchtst einen
eigenen Zufallsgenerator. Er nuss nicht besonders gut sein. Es reicht ein Generator nach der linearen Konkruenzmethode.
Delphi-Quellcode:
var
g_seed:integer;
function fastrand:integer;
// "geklaut" von [url]http://softwarecommunity.intel.com/articles/eng/2978.htm[/url]
begin
g_seed := 214013*g_seed+2531011;
result := (g_seed
shr 16)
and $7FFF;
end;
Warum nicht Random() benützen ? Weil Borland den random() Generator ändern könnte.
Ausserdem wäre das nicht portabel. Keine Ahnung, ob FreePascal die gleiche random() Funkt
benützt als Borland.
Und dann einfach 36 Mal die Zeichen vertauschen:
Delphi-Quellcode:
g_Seed := deinIntParameter;
for i:=1 to 36 do
begin
// swapChar vertauscht zwei Chars - deine Hausaufgabe
SwapChar(s[i], s[fastrand mod 36 +]);
end;