Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Alle möglichen Zeichen-Kombinationen erstellen

24 views
Skip to first unread message

Thomas Wendt

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
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
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

Thomas Wendt

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
Kurzes Beispiel:

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


Wolfgang Wolf

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to
Hallo,
was Sie brauchen sind verschachtelte For/Next Schleifen. Je nach
Gruppengröße brauchen Sie imme mehr solche Verschachtelungen. Für die
Zweiergruppe würde es dann vereinfacht so aussehen

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...

Frank Schumacher

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to
Einen wunderschönen guten ...!

> 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)

Thomas Stalder

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to
Hallo Namenskollege.

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

Michaela Meier

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to
Thomas Wendt wrote:
>
> 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
> 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.

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

0 new messages