Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Zahlen nur einmal vorkommen lassen

  Alt 29. Apr 2010, 06:52
Ich weiss ja, wie man es richtig macht (Fisher-Yates), aber beim Ziehen von Karten ist mir das in den Sinn gekommen (Ich denke, das geht noch als Hilfe, ohne einem die Arbeit abzunehmen):
Delphi-Quellcode:
Procedure ZufaeligeReihenfolgeVonDreizehnZahlen;
Var
  i : Integer;
  Liste : TListeVonZahlen; // Geeigneten Datentyp ausdenken

Begin
  SchreibeDreizehnZahlenInDie(Liste); // Das ist einfach zu programmieren
  For i := 1 to 13 do begin
    Zahl := ZieheEineZufaelligeZahlAusDer(Liste); // Das auch
    Writeln('Gezogene Zahl ',Zahl);
    Entferne(Zahl, {aus der} Liste); // Und das auch, hinterher hat die Liste ein Element weniger
  End;
End;
Das solltest Du umsetzen können.

Optimierungsvorschlag:
Man könnte das Ziehen und Entfernen auch in eine Routine packen. Das wäre natürlich viel schneller, weil ich ja die Position der Zahl kenne, die ich zufällig ausgewählt habe.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat