Mona.Lisa Geschrieben 21. November 2006 Teilen Geschrieben 21. November 2006 Hallo, ich möchte folgende Aufgabe umsetzen, finde aber nach längerer Überlegung keinen Lösungsansatz. Also, man gibt Begriffe ein, z. B. Produkte und dazugehörige Preise Diese möchte ich dann in verschiedenen Zusammenstellungen speichern um sie zu vergleichen und später ausgeben zu können. Z. B. Produkt / Preis A / 2 B / 4 C / 3 D / 1 AB / 6 ( Summe von Produkt A und B ) AC / 5 ( Summe von Produkt A und C ) AD / usw... BC BD CD ABC ABD ACD BCD Wie ich die Anzahl der verschiedenen Kombinationen feststelle, habe ich schon rausbekommen. (2 hoch 3, 2 hoch 4, usw.) Aber wie ich nun die verschiedenen Kombinationen zusammenbringen soll, keine Ahnung.:confused: :confused: :confused: :confused: :confused: :confused: Vielen Dank im Voraus!!! :beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Kleine Geschrieben 21. November 2006 Teilen Geschrieben 21. November 2006 Schubs! (Hat der Anstoss zum Denken gereicht?) Habe leider deine Ausführungen nicht ganz verstanden. Du gibst Produkte und Preise ein. Dannach wählst du einzelne oder mehrere Produkte aus (eventuell auch mehrfach das gleiche produkt) und benötigst einen Endpreis. Und das ganze in einer Programmiersprache, die Schleifen und Addieren versteht? Wozu benötigst du die Kombinationen? Zu speichern sind doch nur die Elemenarwerte Peodukt und Preis, der rest wird dann berechnet? Oder was ist genau deine Frage? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mona.Lisa Geschrieben 21. November 2006 Autor Teilen Geschrieben 21. November 2006 Ich speichere die eingegebenen Daten in einem Array. Jedes Produkt (1,1) und Preis (1,2) für sich. Dann möchte ich in ein weiteres Array alle Kombinationen speichern, die möglich sind. Dafür brauche ich eine Schleife, aber ich weiss nicht, wie ich das umsetzten soll. Vielleicht etwas leichter erklärt. Ich gebe ein: A, B, C, D,... ( brauche auch nicht unbedingt den Preis, erstmal ) Und möchte dann in das zweite Array die Kombis aus der Eingabe speichern. Und zwar so A B C D A und B A und C A und D B und C B und D C und D A und B und C A und B und D A und C und D ... Bei 4 Eingaben sind 16 Kombinationen möglich. Habe ich mich nun klarer ausgedrückt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Kleine Geschrieben 21. November 2006 Teilen Geschrieben 21. November 2006 Naja, vielleicht mal als Denkanstoss: Ich würde erstmal unterteilen nach der Anzahl der Elemente und dann erst diese Anzahl füllen. Also bei 4 Preisen gibt es (mit dem Binomialkoeffizienten): 4 ( ) (sprich 4 über 0) Möglichkeiten = 1 mal, keinen auszuwählen 0 4 ( ) (sprich 4 über 1) Möglichkeiten = 4 mal, einen auszuwählen 1 4 ( ) (sprich 4 über 2) Möglichkeiten = 6 mal, zwei auszuwählen 2 4 ( ) (sprich 4 über 3) Möglichkeiten = 4 mal, drei auszuwählen 3 4 ( ) (sprich 4 über 4) Möglichkeiten = 1 mal, vier auszuwählen. 4 Und dann muss man im zweiten Schritt ausfüllen. Vielleicht ist eine Möglichkeit, rekursiv vorzugehen. Bei zwei ausgewählten Werten: Also eine Variable läuft i1 von 1 bis n-k+1. (n - Anzahl aller Produkte, k Anzahl der oben ausgewählten Produkte) Eine zweite Variable i2 (die zweite Rekursion) läuft von i1+1 bis n (ist gleich n-k+2 oder n-k+ Index von i) und setzt sich hinter die erste Variable. Bei drei ausgewählten Werten: Erste Variable i1 läuft wieder von 1 bis n-k+1 (Index von i = 1) Nächste Variable i2 läuft von i1+1 bis n-k+2 (Index von i = 2) nächste Variable i3 läuft von i2+1 bis n-k+3 (Index von i = 3)(oder bei drei Werten gleich n) Bei k ausgewählten Werten: Erste Variable i1 läuft wieder von 1 bis n-k+1 Nächste Variable i2 läuft von i1+1 bis n-k+2 nächste Variable i3 läuft von i2+1 bis n-k+3 ... letzte Variable ik läuft von i(k-1) bis n-k+k =n Und den Rest versuch mal selber und stell deine Lösungen hier rein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.