vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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
Re: Zahlenkombinationen generieren ??? 
Autor: Preisser
Datum: 19.05.11 12:35

Hallo,

also du könntest alle verfügbaren Zahlen in verschiedene Arrays speichern, und dann die immer so der Reihe nach durchlaufen, und bei jedem Durchlauf halt prüfen, ob eine Ziffer schon vorkommt. z.B (Code in ein Modul einfügen):

Public Type ArrayWrapper
    Arr() As Long
End Type
Public Function GenerateZahlen(Arrs() As ArrayWrapper) As Long()
    Dim i As Long, j As Long
    Dim ret() As Long
    ReDim ret(UBound(Arrs), 500)
    Dim AktAnzahlZahlen As Long
    Dim Indizes() As Long, Zahl() As Long
    ReDim Indizes(UBound(Arrs))
    ReDim Zahl(UBound(Arrs))
    Dim ZahlKommtBereitsVorIndex As Long
    Do While Indizes(0) <= UBound(Arrs(0).Arr)
        ZahlKommtBereitsVorIndex = -1
        For i = 0 To UBound(Arrs)
            Zahl(i) = Arrs(i).Arr(Indizes(i))
            For j = 0 To i - 1
                If Zahl(j) = Zahl(i) Then
                    ZahlKommtBereitsVorIndex = i
                    Exit For
                End If
            Next
        Next
 
        If ZahlKommtBereitsVorIndex < 0 Then
            If UBound(ret, 2) <= AktAnzahlZahlen Then
                ReDim Preserve ret(UBound(Arrs), CLng(UBound(ret, 2) * 1.75))
            End If
            For i = 0 To UBound(Arrs)
                ret(i, AktAnzahlZahlen) = Zahl(i)
            Next
            AktAnzahlZahlen = AktAnzahlZahlen + 1
            ZahlKommtBereitsVorIndex = UBound(Arrs)
        End If
 
        'Weiterschalten
        Indizes(ZahlKommtBereitsVorIndex) = Indizes(ZahlKommtBereitsVorIndex) + _
          1
        For i = ZahlKommtBereitsVorIndex To 1 Step -1
            If Indizes(i) > UBound(Arrs(i).Arr) Then
                Indizes(i) = 0
                Indizes(i - 1) = Indizes(i - 1) + 1
            End If
        Next
    Loop
    ReDim Preserve ret(UBound(Arrs), AktAnzahlZahlen - 1)
    GenerateZahlen = ret
End Function
Da es glaub ich in VB6 keine Arrays aus Arrays direkt gibt, musste ich einen ArrayWrapper dafür verwenden. Dieser Funktion übergibt man einfach ein Array aus ArrayWrapper, die die zur Verfügung stehenden Zahlen enthalten, und gibt ein 2-dimensionales Array zurück, wobei die 1. Dimension die Ziffer angibt und die 2. Dimension die Zeile.

z.B.
Dim i As Long, j As Long
 
Dim ArraysString(5) As String
ArraysString(0) = "1,2,3,4,5,6,7,8,9"
ArraysString(1) = "2,3,4,5,6,7,8,9,10,11,12,13"
ArraysString(2) = "4,5,6,7,8,9,10,11,12,13,14,15,16,17,18"
ArraysString(3) = "7,9,10,11,12,13,14,15,16,17,18,20,21"
ArraysString(4) = "8,10,11,13,14,15,16,17,18,19,20,21,22,23"
ArraysString(5) = "15,16,18,19,20,21,22,23,24"
 
Dim ArrWrappers() As ArrayWrapper
ReDim ArrWrappers(UBound(ArraysString))
For i = 0 To UBound(ArrWrappers)
    Dim Zahlen() As String
    Zahlen = Split(ArraysString(i), ",")
    ReDim ArrWrappers(i).Arr(UBound(Zahlen))
    For j = 0 To UBound(ArrWrappers(i).Arr)
        ArrWrappers(i).Arr(j) = CLng(Zahlen(j))
    Next
Next
 
 
Dim ret() As Long
'Zahlen generieren
ret = GenerateZahlen(ArrWrappers)
For i = 0 To UBound(ret, 2)
    Dim s As String
    s = ""
    For j = 0 To UBound(ret, 1)
        s = s & ret(j, i) & " "
    Next
    Debug.Print s
Next
End Sub
Ich hab dort die zur Verfügung stehenden Zahlen als String (druch Komma getrennt) angegeben, weil man in VB6 auch noch keine Arrayinitialisierer direkt angeben kann. Dieser Code erzeugt dann die Zahlen und gibt sie im Debugbereich aus.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zahlenkombinationen generieren ???2.073JBL18.05.11 11:48
Re: Zahlenkombinationen generieren ???1.264JBL18.05.11 12:48
Re: Zahlenkombinationen generieren ???1.242Dirk18.05.11 13:05
Re: Zahlenkombinationen generieren ???1.260JBL18.05.11 15:51
Re: Zahlenkombinationen generieren ???1.218Zardoz18.05.11 16:43
Re: Zahlenkombinationen generieren ???1.190JBL18.05.11 18:22
Re: Zahlenkombinationen generieren ???1.203JBL19.05.11 09:48
Re: Zahlenkombinationen generieren ???1.258Preisser19.05.11 12:35
Re: Zahlenkombinationen generieren ???1.345JBL19.05.11 14:37
Re: Zahlenkombinationen generieren ???1.304Preisser19.05.11 14:51
Re: Zahlenkombinationen generieren ???1.155JBL19.05.11 16:10
Re: Zahlenkombinationen generieren ???1.284Preisser19.05.11 17:58
Re: Zahlenkombinationen generieren ???1.170JBL19.05.11 18:25
Re: Zahlenkombinationen generieren ???1.299Preisser19.05.11 18:55
Re: Zahlenkombinationen generieren ???1.146JBL19.05.11 19:25
Re: Zahlenkombinationen generieren ???1.210Preisser19.05.11 19:39
Re: Zahlenkombinationen generieren ???1.190JBL19.05.11 19:44
Re: Zahlenkombinationen generieren ???1.178Preisser19.05.11 19:52
Re: Zahlenkombinationen generieren ???1.188JBL19.05.11 20:16
Re: Zahlenkombinationen generieren ???1.188Dirk19.05.11 11:14
Re: Zahlenkombinationen generieren ???1.232JBL19.05.11 21:39
Re: Zahlenkombinationen generieren ???1.147Preisser19.05.11 22:47
Re: Zahlenkombinationen generieren ???1.174JBL20.05.11 05:48
Re: Zahlenkombinationen generieren ???1.191JBL20.05.11 06:39
Re: Zahlenkombinationen generieren ???1.214JBL20.05.11 06:57
Re: Zahlenkombinationen generieren ???1.226Preisser20.05.11 13:19
Re: Zahlenkombinationen generieren ???1.082JBL22.05.11 12:30
Re: Zahlenkombinationen generieren ???1.141JBL24.05.11 21:25
Re: Zahlenkombinationen generieren ???1.054Preisser24.05.11 21:31
Re: Zahlenkombinationen generieren ???1.093JBL24.05.11 22:19
Re: Zahlenkombinationen generieren ???1.111Preisser25.05.11 00:25
Re: Zahlenkombinationen generieren ???1.097JBL25.05.11 06:52
Re: Zahlenkombinationen generieren ???1.064Preisser26.05.11 13:08
Re: Zahlenkombinationen generieren ???1.104JBL26.05.11 15:03
Re: Zahlenkombinationen generieren ???1.112Preisser26.05.11 15:24
Re: Zahlenkombinationen generieren ???1.084JBL26.05.11 16:14
Re: Zahlenkombinationen generieren ???1.083Preisser26.05.11 23:55
Re: Zahlenkombinationen generieren ???1.061JBL27.05.11 06:55
Re: Zahlenkombinationen generieren ???1.149Preisser27.05.11 13:55
Re: Zahlenkombinationen generieren ???1.078JBL28.05.11 18:45

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