Domino 9 und frühere Versionen > Entwicklung
String auseinandernehmen und neu zusammensetzen
Obrac:
Hallo..
Ich möchte folgendes machen:
Ich habe eine Maske, in der es zwei Felder gibt und einen Button. Im ersten Feld soll man einen String eingeben können und dann soll man über einen Button diesen String in allen möglichen Variationen in das zweite, berechnete Feld schreiben können.
Beispiel:
Im ersten Feld steht "rak" und per Knopfdruck soll dann im zweiten erscheinen:
rak
rka
ark
akr
kra
kar
Also sollen die Elemente des Strings in allen möglichen Variationen neu zusammengesetzt werden.
Hat jemand einen Tip oder eine Lösung?
Danke im Voraus..
Nad
Glombi:
Du kannst mal googeln nach "Algorithmus Permutation" oder "Algorithmus Kreuzprodukt".
Andreas
eknori:
wie willst du das denn realisieren Script oder Formel ?
Vom Algorithmus (Permutation ist wohl das richtige Wort für dein Problem ) würde ich das so realisieren
RAK ist dein Wort
Das wort ist n buchstaben lang, also kann jeder Buchstabe nur n-1 Mal an erster Stelle stehen; das merken wir uns schon einmal.
Jetzt müssen wir vom ersten Buchstaben den Rest abtrennen; könnte man mit @Word machen.
R AK
Wir kennen ja den Wert von n; also sind wir hier schon mal auf der sicheren Seite, weil wir die Überlegung auf beliebig lange Wörter anwenden können.
Der Code müsste dann theortisch so weiterlaufen; nimm den letzten Buchstaben und stelle ihn vor den verbleibenden Rest. Das Ganze mach n-1 mal ( das ursprüngliche Wort RAK haben wir ja schon )
R AK
R KA
RAK haben wir uns irgendwo gemerkt; jetzt nehmen wir den letzten Buchstaben von RAK und stellen ihn vorne an und die Schleife geht von vorne los.
K RA
K AR
Jetzt noch ein zweiter ( n -1 ) Schleifendurchlauf und wir erhalten
A KR
A RK
die ganzen kombinationen haben wir uns in einem String mit trennzeichen gemerkt. Sollen nur die Variationen erscheinen, kann man mit @ReplaceSubstring das Ursprungswort aus dem String entfernen.
Na, ja, sehr theoretisch,ich weiß, aber du wolltest ja einen Tip oder eine Lösung.
OK, das war mein Tip :D
koehlerbv:
Jo, Ulrich hat es gesagt - es ist ein "simpler" Permutations-Algorithmus, der benötigt wird. Mit R5 geht das nicht mit @functions, mit R6 vielleicht, wäre aber eine sinnlose Vergewaltigung eines falschen Instruments für diesen Zweck.
Ergo: LS. Algorithmus selber austüfteln oder - wie von Andreas vorgeschlagen - suchen, oder Ulrichs Ansatz folgen.
Bernhard
PS: Frage: Wozu soll das in welchem Kontext gut sein ?
Semeaphoros:
Kreuzworträtselraten ........... O0
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln