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 Zusammen,

ich habe eine für mich unlösbare Aufgabe und hoffe auf Hilfen.

Hier mein Problem:

Dim Werteliste As String

Werteliste = "1 Stück~2 Stück~3 Stück|CD-Rom~Download|Rot~Blau~Grün|S~M~L~XL"

In dieser Werteliste sind "Merkmale" (Menge, Datenträger, Farbe,Größen) voneinander mit dem Symbol Pipe '|' getrennt. Jedes Merkmal hat dann Ausprägungen (Rot, Blau, Grün, ...) die durch Tilde '~' getrennt werden.

Ich benötige nun eine rekursive Funktion, die mir alle möglichen Varianten erzeugt.

Alle meine Ansätze verlaufen im Sand und bringen entweder ein falsche Ergebnis oder es werden nicht alle möglichen Kombinationen geliefert.

Ansatz:

Dim i As Long

Dim Arr_Werteliste() As String

Dim Arr() As String

Arr_Werteliste() = Split(Werteliste, "|")

Arr() = Split(Arr_Werteliste(counter), "~")

Wie muss nun die Rekursive Schleife aufgebaut sein und mit welchen Parametern muss diese sich selbst wieder aufrufen, um an das Ergnis zu gelangen?

Hat jemand einen Rat, Funktion oder Idee?

Vielen Dank für Eure Bemühungen im Voraus!

Diese Funktion müsste folgendes Ausgeben:

1 Stück, CD-Rom, Rot, S

2 Stück, CD-Rom, Rot, S

3 Stück, CD-Rom, Rot, S

1 Stück, Download, Rot, S

2 Stück, Download, Rot, S

3 Stück, Download, Rot, S

1 Stück, CD-Rom, Blau, S

2 Stück, CD-Rom, Blau, S

3 Stück, CD-Rom, Blau, S

1 Stück, Download, Blau, S

2 Stück, Download, Blau, S

3 Stück, Download, Blau, S

1 Stück, CD-Rom, Grün, S

2 Stück, CD-Rom, Grün, S

3 Stück, CD-Rom, Grün, S

1 Stück, Download, Grün, S

2 Stück, Download, Grün, S

3 Stück, Download, Grün, S

1 Stück, CD-Rom, Rot, M

2 Stück, CD-Rom, Rot, M

3 Stück, CD-Rom, Rot, M

1 Stück, Download, Rot, M

2 Stück, Download, Rot, M

3 Stück, Download, Rot, M

1 Stück, CD-Rom, Blau, M

2 Stück, CD-Rom, Blau, M

3 Stück, CD-Rom, Blau, M

1 Stück, Download, Blau, M

2 Stück, Download, Blau, M

3 Stück, Download, Blau, M

1 Stück, CD-Rom, Grün, M

2 Stück, CD-Rom, Grün, M

3 Stück, CD-Rom, Grün, M

1 Stück, Download, Grün, M

2 Stück, Download, Grün, M

3 Stück, Download, Grün, M

1 Stück, CD-Rom, Rot, L

2 Stück, CD-Rom, Rot, L

3 Stück, CD-Rom, Rot, L

1 Stück, Download, Rot, L

2 Stück, Download, Rot, L

3 Stück, Download, Rot, L

1 Stück, CD-Rom, Blau, L

2 Stück, CD-Rom, Blau, L

3 Stück, CD-Rom, Blau, L

1 Stück, Download, Blau, L

2 Stück, Download, Blau, L

3 Stück, Download, Blau, L

1 Stück, CD-Rom, Grün, L

2 Stück, CD-Rom, Grün, L

3 Stück, CD-Rom, Grün, L

1 Stück, Download, Grün, L

2 Stück, Download, Grün, L

3 Stück, Download, Grün, L

1 Stück, CD-Rom, Rot, XL

2 Stück, CD-Rom, Rot, XL

3 Stück, CD-Rom, Rot, XL

1 Stück, Download, Rot, XL

2 Stück, Download, Rot, XL

3 Stück, Download, Rot, XL

1 Stück, CD-Rom, Blau, XL

2 Stück, CD-Rom, Blau, XL

3 Stück, CD-Rom, Blau, XL

1 Stück, Download, Blau, XL

2 Stück, Download, Blau, XL

3 Stück, Download, Blau, XL

1 Stück, CD-Rom, Grün, XL

2 Stück, CD-Rom, Grün, XL

3 Stück, CD-Rom, Grün, XL

1 Stück, Download, Grün, XL

2 Stück, Download, Grün, XL

3 Stück, Download, Grün, XL

Wie muss nun die Rekursive Schleife aufgebaut sein und mit welchen Parametern muss diese sich selbst wieder aufrufen, um an das Ergnis zu gelangen?

Du widersprichst Dir hier selbst, eine rekursive Funktion ist keine Schleife.

Ich benötige nun eine rekursive Funktion, die mir alle möglichen Varianten erzeugt.

Es ist doch bei dieser Sache völlig unerheblich welchen Seperator Du nimmst, wenn Du alle Kombinationen brauchst.

Wenn ich den String "a-b-c" habe, erhalte ich 2^3 Möglichkeiten diese Zeichen zu kombinieren. Man kann das durch Permutation erzeugen:

Ich lasse das erste Element unangetastet und permutiere die restliche Folge, wobei der erste Schritt eine Permutation der gesamten Folge ist.

Phil

Hallo,

ich habe das Problem gelöst...

Viele Grüße,

Robert

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.