![]() |
Re: Lottozahlengenerator
Ich hab mir die Mühe gemacht deinen Code herunterzuladen.
Es wäre schön gewesen, wenn Du den Code für das Ziehen der Lottozahlen in eine eigene Funktion gestellt und in deinem Beitrag veröffentlicht hättest. Trennung von Oberfläche und Funktionalität erleichtert immer das Lesen eines Codes, ganz bestimmt wenn man auf alle Kommentare verzichtet. Fehler in deinem Code:
Delphi-Quellcode:
gibt eine Zahl im Bereich 1..50 zurück!
a:= random(49)+1;
Die Schleife
Delphi-Quellcode:
fängt nur doppelte Zahlen, die unmittelbar aufeinanderfolgen ab. Wozu?
repeat
a:=random(49)+1; until not zahl[a]; Das ZDF zeigt die Lottozahlen immer waagerecht sortiert von der kleinsten zur größten, deine Darstellung ist etwas ungewohnt. Die Prüfung der Statistik wird dadurch erheblich erschwert, dass die alten Ziehungen verschwinden! |
Re: Lottozahlengenerator
Zitat:
vgl. function Random [ ( Range: Integer) ]; Beschreibung: Random gibt eine Zufallszahl im Bereich 0 <= X < Range zurück |
Re: Lottozahlengenerator
Zitat:
Delphi-Quellcode:
gar nicht soooo schlecht. An der Form siehst Du auch die Konsequenz: Kenne ich einen 32-Bit Zufallswert kenne ich alle. Vorwärts ist trivial, rückwärts via $08088405^-1 mod 2^32 = $D94FA8CD.
randseed := $08088405*randseed + 1 mod 2^32
|
AW: Lottozahlengenerator
Liste der Anhänge anzeigen (Anzahl: 1)
Da ich gerade auf das Ende eines Programmes warte, habe ich mir mal die verschiedenen Projekte angeschaut, die hier im Forum vorgestellt werden. Dieses Projekt hier finde ich nett, und ich dachte mir, wie ich eine Zufallsziehung programmieren würde. Nun ja, anbei das Ergebnis. Wer weiß, vielleicht bringt es ja Glück.
Hier die eigentliche Funktion
Delphi-Quellcode:
const
c_MaxZiehungen = 13983816; type Ziehung_array = array [1..7] of integer; function Ziehung_generierien : Ziehung_array; var z1, z2, z3 , z4, z5, z6 , iAnz , iZiehung : integer; hours , mins , secs , milliSecs : Word; begin DecodeTime(now, hours, mins, secs, milliSecs); RandSeed := hours+mins+secs+milliSecs; iZiehung := Random (c_MaxZiehungen)+1; iAnz := 0; for z1 := 1 to 44 do for z2 := z1+1 to 45 do for z3 := z2+1 to 46 do for z4 := z3+1 to 47 do for z5 := z4+1 to 48 do for z6 := z5+1 to 49 do begin iAnz := succ (iAnz); if iZiehung = iAnz then begin result [1] := z1; result [2] := z2; result [3] := z3; result [4] := z4; result [5] := z5; result [6] := z6; result [7] := iZiehung; exit; end; // if iZiehung = iAnz end; // for z6 := z5+1 to 49 do end; // function Ziehung_generierien : Ziehung_array; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz