Kombinationen in Excel/Works < Stochastik < Oberstufe < Schule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 20:12 Mo 21.03.2005 | Autor: | Basti007 |
Hallo,
ich grüble schon seit einer gewissen zeit über ein "kombinationsproblem".
Zur erläuterung: ich möchte in excel alle kombinationen beliebig vieler und beliebig verschiedener buchstaben (! keine zahlen) berechnen - und all diese kombinationen geordnet anzeigen lassen.
Ich bin aber bisher zu keiner Lösung gekommen.
Beispiel:
Ich möchte von ABC alle Möglichkeiten berechnen und anzeigen lassen.
Das wären:
ABC
BAC
CAB
BCA
ACB
CBA
Wichtig: Kombinationen wie AAA oder BAB dürfen nicht auftreten. Also in jeder Kombination eine Sorte von Buchstaben nur einmal.
Leider hab ich es nicht geschaft dies in Excel zu programmieren.
Natürlich ist dies noch ein sehr einfaches Beispiel. Später sollen bis zu 100 verschiedene Buchstaben/Zeichen verwendet werden!!!!
Würde mich freuen wenn mir jemand weiterhelfen kann...
Danke,
Gruss basti
ps:übrings bin ich zum ersten mal hier, nehmt es mir nicht uebel wenn ich was krumm formuliert habe oder etwas nicht richtig beachtet habt. danke!
pps:Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo basti!
Erstmal
Ist schon alles okay so, wie du es geschrieben hast.
> Zur erläuterung: ich möchte in excel alle kombinationen
> beliebig vieler und beliebig verschiedener buchstaben (!
> keine zahlen) berechnen - und all diese kombinationen
> geordnet anzeigen lassen.
>
> Ich bin aber bisher zu keiner Lösung gekommen.
>
> Beispiel:
>
> Ich möchte von ABC alle Möglichkeiten berechnen und
> anzeigen lassen.
> Das wären:
>
> ABC
> BAC
> CAB
> BCA
> ACB
> CBA
>
> Wichtig: Kombinationen wie AAA oder BAB dürfen nicht
> auftreten. Also in jeder Kombination eine Sorte von
> Buchstaben nur einmal.
>
> Leider hab ich es nicht geschaft dies in Excel zu
> programmieren.
> Natürlich ist dies noch ein sehr einfaches Beispiel.
> Später sollen bis zu 100 verschiedene Buchstaben/Zeichen
> verwendet werden!!!!
Ich habe zwar nicht allzu viel Ahnung von Programmierung, vor allem nicht in Excel, aber vielleicht kann ich dir ein paar Tipps geben:
Als erstes ist die Anzahl solcher Möglichkeiten in diesem Fall immer n! ("n Fakultät" - ich hoffe, du kennst die Fakultät...) - also wenn du n Buchstaben hast und jeder Buchstabe einmal vorkommt. In deinem Fall wäre das dann 3!=3*2*1=6, du hast also alle Möglichkeiten gefunden.
Wenn ich so etwas mit Hand aufschreibe, dann mache ich es immer folgendermaßen (ich hoffe, ich kann das verständlich erklären):
ich schreibe zuerst alles in einer beliebigen Reihenfolge hin (bei Buchstaben würde ich es wohl nach dem Alphabet machen), und dann ändere ich zuerst nur die letzten beiden Buchstaben - lasse also alles andere davor noch genauso. Und dann ändere ich die letzten drei Buchstaben, und zwar direkt in allen Möglichkeiten, die es gibt, dann die letzten vier wieder in allen Möglichkeiten usw.. Ich versuche das mal an dem Beispiel mit vier Buchstaben zu zeigen:
ABCD (beliebige Reihenfolge)
ABDC (nur letzte zwei Buchstaben geändert - gibt's nur eine Möglichkeit für)
ACBD (letzte drei Buchstaben geändert)
ACDB (zweite Möglichkeit, die letzten drei Buchstaben zu ändern)
ADBC
ADCB (und jetzt haben wir alle Möglichkeiten, die letzten drei Buchstaben zu ändern)
So, nun haben wir alle Möglichkeiten, wo das A vorne steht - es sind ja alle Möglichkeiten, drei Buchstaben beliebig anzuordnen, wie wir bei deinem Beispiel schon festgestellt haben. Nun schreiben wir also das B nach vorne, und machen das Gleiche wie eben von hinten nach vorne noch einmal:
BACD
BADC (wieder nur letzte beiden Buchstaben geändert - nun haben wir alle Möglichkeiten, wo B vorne und A an zweiter Stelle steht)
BCAD
BCDA (jetzt haben wir alle Möglichkeiten mit BC am Anfang, also kommt jetzt BD an den Anfang)
BDAC
BDCA (und das waren auch schon wieder alle Möglichkeiten mit dem B vorne.
Jetzt kannst du das Gleiche noch machen mit C vorne, da erhältst du wieder 6 Möglichkeiten, und danach noch mit dem D vorne - wiederum 6 Möglichkeiten. Sodass du am Ende auf genau 4!=24 Möglichkeiten kommst.
Okay - das war jetzt nur ein praktisches Beispiel - kannst du das in ein Programmierprinzip umwandeln? Ich würde sagen, du brauchst dafür entweder ein paar Schleifen verschachtelt, oder vielleicht geht es auch rekursiv - du lässt immer zuerst die letzten beiden Buchstaben ändern, dann die letzten drei in allen Möglichkeiten, dann die letzten vier in allen Möglichkeiten und immer so weiter, bis du vorne bist.
> Würde mich freuen wenn mir jemand weiterhelfen kann...
Ob dir das geholfen hat?
Ach ja, da fällt mir noch gerade ein anderes Beispiel ein:
Wenn man Binärzahlen aufschreibt, dann macht man das quasi genauso, allerdings hat man da ja immer nur zwei Möglichkeiten und die Nullen und Einsen kommen auch öfter vor, aber das Prinzip ist eigentlich das Gleiche:
0000 (beliebige Reihenfolge)
0001 (nur letzte Stelle geändert - alle Möglichkeiten für 000 am Anfang fertig)
0010 (letzten zwei Stellen geändert)
0011 (alle Möglichkeiten für 00 am Anfang fertig)
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111 (ich hoffe, ich habe mich jetzt nicht vertippt)
Okay, melde dich doch, falls es dir immer noch nicht weiterhilft oder du irgendwas nicht verstehst.
Viele Grüße
Bastiane
|
|
|
|