vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Suche Lösungsansatz?? 
Autor: P2k
Datum: 25.08.04 20:28

Hallo an alle,

habe da mal eine etwas knifflige Idee für die mir aber der Richtige Lösungsansatz fehlt.

Also eigentlich will nicht wirklich ein Programm schreiben sondern nur mittels VB eine Aufgabe lösen die auf normalem Wege wahrscheinlich für ein Menschenleben etwas zu lange dauern würde.

Es geht um Lottozahlen:

Ich habe vor einigen Jahren einmal einen einfachen Lottogenerator geschrieben:
zufallszahlen 1 bis 49 ermitteln, davon 6 stück, hierbei darauf achten das keine Zahl doppelt vorhanden ist, das ganze 1 bis 12 mal, auch hierbei darauf achten das sich keine Combo wiederholt, das ganze im Programmfenster ausgeben und bei Bedarf drucken. (Selbes System auch für 4 aus 45 vorhanden)

Soweit das vorhandene:

Ich möchte jetzt einfach mal einen Code daraus entwickeln der mir alle möglichen Combinationen ermittelt und diese untereinander in eine Textdatei schreibt. Wird wohl den Rechner hart beanspruchen aber egal. Mich interessiert nur mal die Herangehensweise.

Ich könnte ja jetzt einfach den Code zur Generierung ewig laufen lassen, eine Combo nach der anderen in die Datei schreiben und bei jeder neu ermitteleten Combo vergleichen ob die schon vorhanden ist und wenn nicht unten anhängen. Währe interessant wenn in der Datei schon 100 Mio Zahlenreihen stehen.

Hierfür muss es doch noch eine andere Lösung geben und wann weis das Programm wann es definitiv alle Codes hat?

Weis vieleich jemand wieviel Kombinationsmöglichkeiten es überhaupt gibt (ich glaube so um die 140 Mio)?

hat jemand nen Tipp?


Mfg P2k

Hier mal die entscheidenden Codeschnipsel des Programms

'--------------------------------------------------------------------------
 
'Erstes Unterprogramm (für die Ziehung von 6 aus 49), ruft ein weiteres
'Unterprogramm "ziehungsechs" auf um die Zufallszahlen zu generieren,
'legt die Speicherplätze für die gezogenen Zahlen fest und bereinigt diese,
'vergleicht die Zahlen auf eventuell doppelt vorhandene und gibt das
'Ergebnis in sortierter Reihenfolge aus.
'Das Sortieren der Zahlen in aufsteigender Form wird durch ein
'Unterprogramm "sortiersechs" erledigt.
 
'--------------------------------------------------------------------------
 
Private Sub sechs(X)
For i = 0 To 5
        Zahlen(i) = 0
Next i
For n = 0 To 5
        Weiche = False
        While Weiche = False
            Weiche = True
            ziehungsechs (n)
            For k = 0 To n - 1
                If Zahlen(n) = Zahlen(k) Then
                    Weiche = False
                        Exit For
                End If
            Next k
        Wend
Next n
For n = 0 To 5
    For a = n + 1 To 5
        If Zahlen(a) < Zahlen(n) Then
            Zahl = Zahlen(n)
            Zahlen(n) = Zahlen(a)
            Zahlen(a) = Zahl
        End If
    Next a
Next n
End Sub
Private Sub ziehungsechs(j)
    Randomize
        Zahlen(n) = Int((49 * Rnd) + 1)
End Sub
Es gibt dann noch weitere für dieses Problem aber unwichtige Prozeduren
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Suche Lösungsansatz??822P2k25.08.04 20:28
Re: Suche Lösungsansatz??616f1_minardi25.08.04 20:46
Re: Suche Lösungsansatz??640f1_minardi25.08.04 20:48
Re: Suche Lösungsansatz??597Zardoz25.08.04 21:04
Re: Suche Lösungsansatz??570P2k26.08.04 13:44

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel