Zum Inhalt springen

Benötige einen Denkanstoss!


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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?

Geschrieben

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?

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...