Aus gegebenem Anlass (wir hatten diesbezüglich eine an uns gerichtete Anfrage) möchten wir Ihnen heute einen Routine zum Generieren von Lotozahlen 6 aus 49 vorstellen. Beim Erzeugen der Zufallszahlen muss sich die Zahl immer zwischen 1 und 49 befindet. Außerdem darf eine bereits ermittelte Zahl nicht doppelt "gezogen" werden. Damit keine Zahlen doppelt vorkommen, wird jede ermittelte "Lottozahl" in einem Array-Datenfeld gespeichert. Beim Ermitteln der nächsten "Lottozahl" wird dann zunächst das Datenfeld nach der gezogenen Zahl durchsucht. Befindet sich die Zahl bereits im Datenfeld, wird eine neue Zufallszahl generiert. ' Array für die gezogenen Lottozahlen Dim Lottozahl(6) As Integer Lotto 6 aus 49 ' Sicherstellen, daß bei jedem Start wirklich ' eine neue Zufallszahl generiert wird Randomize -Timer ' Insgesamt 6 Zufallszahlen ermitteln Dim Ziehung As Integer Dim i As Integer Dim Result As Boolean Dim Zahl As Integer Ziehung = 0 While Ziehung < 6 Ziehung = Ziehung + 1 Do ' Zufallszahl 1..49 Zahl = Int(49 * Rnd + 1) ' Prüfen, ob Zufallszahl bereits "gezogen" Result = True For i = 1 To Ziehung - 1 If Lottozahl(i) = Zahl Then Result = False: Exit For End If Next i Loop Until Result = True Lottozahl(Ziehung) = Zahl Wend ' Lottozahlen anzeigen Dim Msg As String Msg = "Die Lottozahlen lauten: " For i = 1 To 6 Msg = Msg & Format$(Lottozahl(i)) & " " Next i MsgBox Msg Erläuterungen zur Do...Loop-Schleife Erläuterungen zur Rnd-Funktion Zahl = Int((Obergrenze - Untergrenze + 1) * Rnd + 1) Obergrenze steht für die höchste Zahl und Untergrenze für die niedrigste Zahl. Das bedeutet also für das Würfel-Experiment: Zahl = Int((6 - 1 + 1) * Rnd + 1) was ja gleichbedeutend ist mit: Zahl = Int(6 * Rnd + 1) Zu beachten ist noch, daß Rnd immer die selben Zufallszahlen generiert. Um dies zu verhindern, dient der Ausdruck: Randomize -Timer Dieser Tipp wurde bereits 61.596 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |