Re: randomize problem
Naja, dann ist Result ja mehr als Blödsinn
|
Re: randomize problem
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Re: randomize problem
Liste der Anhänge anzeigen (Anzahl: 1)
tja, erst Runden und dann mit +0.5 den Fehler wieder ausmerzen ...
kennt ihr schon Trunc? :mrgreen: ein bissl dynamischer für noch mehr input und auch noch Trunc+Random, sowie RandomRange reingemacht schon schlimm, wie die OH-Beschreibung vom Code abweicht :wall: (RandomRange) |
Re: randomize problem
Gute Arbeit! :mrgreen: So einleuchtend visualisiert hat die Verteilung (der Quantilbreiten, um mit Helge's Worten zu sprechen) sicherlich noch niemand. Da gehen jedem Zweifler die Argumente aus :zwinker:
|
Re: randomize problem
öh...ja, genau
tut mir leid wenn ich das jetzt so sage, aber ich weiß seit der ersten halben seite nicht mehr wovon ihr redet :?: aber danke für das (48)+1, jetzt kommt endlich keine null mehr :) wie ich verhindern kann dass zwei gleiche zahlen vorkommen, weiß ich aber noch nicht. aber vielen dank jungs! :) |
Re: randomize problem
Zitat:
Darum ist auch eine for..next-Schleife ungeeignet für dein Problem, weil du ja solange ziehen musst, bis du sechs verschiedene Zahlen hast. Besser repeat...until oder while...do. |
Re: randomize problem
|
Re: randomize problem
Wenn du ein Array für die Zahlen nimmst, kannst du sie der Reihe nach vergleichen.
Das hier ist nur Pseudocode...
Delphi-Quellcode:
Offtopic:
array of integer deklarieren
For i := 1 to 6 repeat array[i] = random ... flag := true; Gib j einen Startwert; while j>0 do begin if array[i] = array[j] then flag := false; mache j kleiner; end; until flag Was man ziemlich oft findet sind konstruktionen a'la:
Delphi-Quellcode:
was aber nicht verhindert, dass beim zweiten mal die Zahl wieder 0 sein kann... :stupid:
a := random(49);
if a = 0 then a := random(49); weiter ... Folgenden Code hab ich mal gefunden:
Delphi-Quellcode:
Aber wenn es spät in der Nacht schreiben wir alle manchmal so Zeugs, oder? :zwinker:
If CheckBox1.checked Then // erst wird by ein zufälliger Wert gegeben
by := RandRange(32, 128) Else by := random(256); While by = 0 Do // und dann nochmal verhindert, dass er 0 sein kann. If CheckBox1.checked Then by := RandRange(32, 128) Else by := random(256); |
Re: randomize problem
Noch eine Idee, war hier schon einmal:
1. Erzeuge eine Liste aller Zahlen im Interval [1;49] 2. Ziehe eine beliebige Zahl aus der Liste, zeige sie an. 3. Lösche(!) nun dieses Element aus der Liste. 4. Führe die Schritte 2..4 insgesamt 6x aus Fertig. Das ist genau das, was man beim Lotto (z.B.) macht. oder mein Gedanke: Erzeuge ein Array of integer von 1..49 und schreibe dort z.B. überall Nullen herein. Ziehe eine Zahl (z.B 23) und überscchreibe dann Zahl[23} mit der Zufallszahl Ziehe die nächste Zahl. Wenn es wieder 23 sein sollte, guckst Du im Array bei Zahl[23] nach, ob sie nicht Null ist. Dann mußt Du halt noch einmal eine Zufallszahl erzeugen .. usw, bis Du 6 verschiedene Zahlen hast. Am Ende brauchst Du nicht einmal nach Größe sortieren, sondern im Array nur die Zahlen auslesen, die nicht den Inhalt Null haben. PS: Habe den Bug in Post #17 Lotto3.exe beseitigt, hier wurden MaxInt-Werte überschritten. Gruß Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 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