Re: Lotto HILFE´!!!
Hallo,
Abschließend will ich mich nochmal bedanken. Ihr habt mir sehr weitergeholfen. Meine Fragen werden sich für Profis wahrscheinlich vollkommen unprofessionell anhören. Aber der ganze Stress, obwohl ich Delphi spannend finde und mich auch in meiner nächsten Freizeit mal ohne Schulzwänge so richtig damit befassen werde. Vielen Dank und baldige schöne Weihnachten!!!! Lisa |
Re: Lotto HILFE´!!!
eins noch:
man muss nur einmal randomize; machen, du machst es zweimal... :wink: |
Re: Lotto HILFE´!!!
Am effizientesten dürfte das sein:
Delphi-Quellcode:
In deinem Falle also:
type
TZahlen = array of Integer; procedure Lotto(var Sortiert,Gezogene: TZahlen; Ziehungen: Integer = 6; Elemente: Integer = 49); var I,J,K,N: Integer; begin Sortiert := nil; // stellt sicher das Sortiert <> Gezogene ist Gezogene := nil; if Ziehungen > Elemente then raise Exception.Create('Man kann nicht mehr Kugeln ziehen als in der Urne sind'); SetLength(Sortiert, Ziehungen); SetLength(Gezogene, Ziehungen); for I := 0 to Ziehungen -1 do begin K := 0; N := Random(Elemente - I) + 1; for J := 0 to I -1 do if N >= Sortiert[J] then begin Inc(N); Inc(K); end else Break; for J := I downto K +1 do Sortiert[J] := Sortiert[J -1]; Sortiert[K] := N; Gezogene[I] := N; end; end; procedure Test; procedure Print(const Title: String; const Zahlen: TZahlen); var I: Integer; begin Write(Title); for I := 0 to High(Zahlen) do Write(Zahlen[I]:4); WriteLn; end; var Sortiert,Gezogene: TZahlen; begin Lotto(Sortiert, Gezogene, 10, 10); Print('gezogene : ', Gezogene); Print('sortiert : ', Sortiert); WriteLn; end; Lotto(Sortiert, Gezogene, 60, 60); Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz