[quote="Eichhoernchen"]Ich hab in meinem Studium, die Aufgabe bekommen Mastermind zu programmieren, dabei ist es nötig eine Buchstabenfolge der Länge 4 aus 8 Zeichen zu erzeugen.
Sprich, ich hab die Buchstaben A..H und soll daraus 4 auswählen, jedoch keine doppelten, das ganze ist ja nicht schwer, jedoch bekamen wir die Einschränkung nur 4 mal die Funktion aufrufen zu dürfen, die uns einen Zufallsbuchstaben erzeugt. Das ganze habe ich auch Problemlos gelöst, jedoch bin ich mir über die Qualität des Codes nicht sicher. Da wir keine Bibliotheksfunktionen nutzen dürfen sondern nur diese eine Zufallsbuchstabenmethode, schränkt es das ganze ziemlich ein.
Hallo Eichhörnchen,
Ich würde das so lösen (in Delpi - kannst du sicher leicht umsetzen)
Delphi-Quellcode:
FUNCTION RandomCode:string;
var c:char; i,n:integer;
begin
result:='ABCDEFGH';
for i:=7 downto 4 do begin
n:=Random(i)+1; // liefert eine Zahl im Bereich 1 bis i
c:=result[i];
result[i]:=result[n];
result[n]:=c;
end;
Delete(result,1,4);
end;