Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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?

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?

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.