Excel programmierung kombinatorik ohne wiederholung

meggy

New member
19 März 2010
2
0
Hallo,
ich habe folgendes Problem. Ich möchte auf Excel ein Programm programmiern, wobei ich folgende Kombination haben möchte: ABC, ABD, ABE, ACD (aber eben nicht ACB, weil sich die Buchstabenkombinationen nicht wiederholen dürfen), ABCD, ABDE..usw.. zb AB AC AD bis AZ weiter gehen soll es mit BC BD BE usw, wobei BA eben schon mit AB abgedeckt ist und nicht wieder auftauchen soll. Ist man bei YX angelangt, so soll dann ABC folgen.

Es dürfen also die Anordnung der Buchstaben irrelevant und soll nicht wiederholt werden. Wurden einmal alle Kombinationsmöglichkeiten durchlaufen, so erhöht sich die Buchstaben anzahl um eins, bis das ganze Alphabet durchgelaufen ist.

Ich sitz jetzt schon seit mehreren Tagen und komm alleine zu keinem Ergebnis, ich wäre euch riesig dankbar, wenn ihr mir helfen könntet.

Danke
Meggy
 
Mit Excel kann man nicht programmieren ;)
Oder machst du das mit Formeln? Lass halt mal deine Versuche sehen.

Im Prinzip ist das doch einfach, weil du nur ein "n-dimensionales Dreieck" aufspannen brauchst und dann die Buchstaben aus der oberen Ecke zu nehmen.

Am Beispiel n = 2:
| A | B | C | D A |-|X|X|X
B |O|-|X|X
C |O|O|-|X
D |O|O|O|-
- = Diagonale, sowieso uninteressant
X = Kombination gültig (obere Dreiecksmatrix)
O = Kombination ungültig (untere Dreiecksmatrix), da schon in anderer Reihenfolge vorhanden.
 
Zuletzt bearbeitet:
ja, ich mach das auch so, ich habs auch hinbekommen mit einer matrix alle wiederholungen rauszubekommen, sprich, dass ich nur ABC aber nicht merh CAB usw hab, mein problem ist jetzt, dass ich es nicht hin bekomme, dass in der gleichen matrix die erhöhung der buchstabenzahl jeweils um eins erhöht. Ich bin hier absoluter laie, kenn mich nur in mathe/kombinatorik. Es geht darum, dass es eben keine wiederholungen geben soll.
aber hier soll eben dies nicht für eine exakte anzahl von elementen zb 3 buchstaben sein, sondern für alle mögliche kombinationsmöglichkeiten aller buchstaben des alphabets
;) hoffe du verstehts was ich meine.. aber danke schon mal..
 
;) hoffe du verstehts was ich meine.. aber danke schon mal..
Ne, sorry, nicht wirklich.

Wenn du 3 Buchstaben haben willst, musst du halt im Dreidimensionalen arbeiten. Beachte, dass es dort nicht nur eine Diagonale, sondern 3 Diagonalen (je eine in x[sub]1[/sub]x[sub]2[/sub]-Ebene, x[sub]1[/sub]x[sub]3[/sub]-Ebene und x[sub]2[/sub]x[sub]3[/sub]-Ebene) plus die Raumdiagonale (durch x[sub]1[/sub]x[sub]2[/sub]x[sub]3[/sub]) gibt.

In der Geometrie klingt das sehr komplizit. Wenn du trocken mit Arrays arbeitest, sieht das ganze viel einfacher aus.
Tipp: Hast du noch Kinderspielzeug daheim? Bauklötze sind nicht nur für Babys n tolles Spielzeug, damit kannst man auch 3D-Koordinantensysteme visualisieren 8) :mrgreen:

Statt n = 3 kannst du das ganze natürlich bis in die Unendlichkeit treiben ...oder du keinen Bock mehr hast, zu warten, bis der Rechner fertig is :biggrin:

P.S. Für n > 3 wirds mit der Visualisierung schon schwieriger :ugly: