Aus den Ziffern und Buchstaben möchte ich nun alle möglichen Kombinationen
erstellen.
Erst sollen die Buchstaben einzeln dargestellt werden. Dann in Zweier-,
Dreier-, Vierergruppen usw..
Zum Schluß sollen dann alle Zeichen und Buchstaben in eine 14er Gruppe
dargestellt werden.
Wie kann ich so etwas in Visual Basic realisieren?
So das alle Möglichen Kombinationen herauskommen.
Wer hat da eine Idee?
Ich komme einfach nicht weiter. Denn ich weiß nicht, wie ich das Anstellen
soll.
Danke Thomas
0
1
2
3
4
5
00
01
02
03
04
05
000 010 020 ... 55550
001 011 021 ... 55551
002 012 022 ... 55552
003 013 023 ... 55553
004 014 024 ... 55554
005 015 025 ... 55555
55555ABC ... 5555CCC
Thomas
For i = 1 to 5
For j = a to z
n = n + 1
Redim preserve Ergebnis(n)
Ergebnis(n) = Cstr(i) & j
next j
next i
Gruß W.Wolf
Thomas Wendt <thoma...@gmx.de> schrieb in im Newsbeitrag:
394e...@BASICWORLD.COM...
> Aus den Ziffern und Buchstaben möchte ich nun alle möglichen Kombinationen
Versuchst du deinen Chef zu überzeugen, daß du mehr Speicher brauchst?
Frank
--
Wisdom starts where knowledge ends - Rage (Ghosts-1999)
Also erstelle ein Array
'Dim Zeichen(14) as string........option base 1 für 0..5,A..I,a..v
und dann lasse den Alg. von Trotter (in jedem gutem Buch nachzulesen unter
Kombinatorik) darüber laufen.
Am besten schreibst du die Kombinationen in eine DB.
Um dann die 2er,3er...Gruppen zu bekommen verwende das entsprechene
Darstellungs-Format.
Wenn du Fragen hast, melde dich bei
tho...@planungsbuero-sk.de
Gruß
Thomas Stalder
Thomas Wendt <thoma...@gmx.de> schrieb in im Newsbeitrag:
394e...@BASICWORLD.COM...
> Ich habe folgende Ziffern 0,1,2,3,4,5 und folgende Buchstaben
> A,B,C,G,I,a,k,t,v
>
> Aus den Ziffern und Buchstaben möchte ich nun alle möglichen Kombinationen
Hi,
Versuch's mal hiermit. Ohne For-Next-Schleifen. Brauchbar für beliebig
lange Permutationen aus beliebig vielen Elementen.
Ich hoffe, die Wirkungsweise ist klar genug beschrieben.
'Elemente
zeichen = Array("0", "1", "2", "3", "4", "5", "a", "B", "C", "G",
"I", "a", "k", "t", "v")
'Länge der Wörter
nMax = 3
iMax = UBound(zeichen)
ReDim j(iMax) As Integer
Do
'Wort aus den aktuellen Elementen zusammensetzen
wort = ""
For n = 1 To nMax
wort = wort & zeichen(j(n))
Next
Debug.Print wort
'nächste Schleife beginnen
For n = nMax To 1 Step -1
'das letzte Element wird erhöht
j(n) = j(n) + 1
'gibt es das Element?
If j(n) > iMax Then
'nein
'Schleife neu starten
j(n) = 0
'ist das erste Element betroffen?
If n = 1 Then
'ja = fertig!
Exit Do
End If
'und weil bis jetzt weder das FOR noch das DO verlassen
wurden,
'wird die nächst-innere Element um 1 erhöht
Else
'ja
Exit For
End If
Next
Loop
HTH
Michaela