Autor Thema: String auseinandernehmen und neu zusammensetzen  (Gelesen 7986 mal)

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
String auseinandernehmen und neu zusammensetzen
« am: 12.07.05 - 20:52:13 »
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

  • Gast
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #1 am: 12.07.05 - 21:07:41 »
Du kannst mal googeln nach "Algorithmus Permutation" oder "Algorithmus Kreuzprodukt".

Andreas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #2 am: 12.07.05 - 21:26:01 »
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
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #3 am: 12.07.05 - 23:29:47 »
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 ?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #4 am: 12.07.05 - 23:33:06 »
Kreuzworträtselraten ...........  O0
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #5 am: 12.07.05 - 23:36:36 »
Notes kann doch permutieren:

Man müßte aus dem String eine Liste machen können,
die aus den einzelnen Buchstaben besteht.
Ab dann wärs einfach:

Soviel Buchstaben (also soviel Elements der Liste),
so oft wiederholt man die Permutation
und darüber ein @Unique

@Unique(OldList *+ OldList *+ OldList);

Nur wie man aus dem dreibuchstabigen String mal schnell eine drei-elementige Liste macht, fällt mit in R5 auch nicht ein. In R6 wärs easy.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #6 am: 12.07.05 - 23:43:24 »
Kreuzworträtselraten ...........  O0

Ja, die Schweizer ... Das erinnert mich jetzt an Emil Steinberger und seine legendäre Kreuzworträtsel-Lösung mit "Oktern" und "Brgel"  ;D

Bernhard

EDIT: Das war natürlich keine Permutation über die Lösung, sondern schlicht über's Alphabet, dafür aber mit "automatischen Abgleich der Nebenbedingungen". Also anspruchsvoller ... Die Schweizer eben ...
« Letzte Änderung: 12.07.05 - 23:52:32 von koehlerbv »

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #7 am: 19.07.05 - 18:38:33 »
Sorry, dass ich mich erst so spät wieder hier melde. Es gibt eigentlich keinen Grund, warum ich das Skript brauche.  Inspiriert wurde ich dazu durch den Sender 9live. Dort werden dauernd diese blöden Quizsendungen gemacht, bei denen man Buchstaben in die richtige Reihenfolge bringen muss. Da dachte ich mir, warum programmier ich sowas nicht mal..

Das Problem ist, dass mir keine Methode einfällt, mit der man an die Elemente eines Strings kommen und diese in Variablen schreiben kann. Danach wäre es wirklich einfach..

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #8 am: 19.07.05 - 18:51:26 »
Wie gesagt, mit Notes 6 ist das ein Dreizeiler
und die komplette Permutationslösung-Lösung wäre dann noch eine Zeile mehr.

Leiste Dir doch einen R6 Client,
dann kannst Du die Rätsel lösen und fleißig dort anrufen
und hast das Geld für den Client wieder drin  ;)

Hätte nicht gedacht, dass Berhard und Jens so "nah dran lagen" bei Ihrer Vermutung. Schade um die Zeit.

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #9 am: 19.07.05 - 18:54:42 »
Ich bin ein armer Schlucker.. und wer da anruft, wird noch ärmer. Ich muss es wohl mit R5 versuchen.

Glombi

  • Gast
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #10 am: 19.07.05 - 18:56:34 »
Jetzt hast Du aber soviel Input bekommen, da erwarten wir aber auch nun eine Lösung von Dir ;D

In gespannter Erwartung
Andreas

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #11 am: 19.07.05 - 18:57:01 »
Ich meine auch nur, es wäre fairer, so einen Satz:

Zitat
Es gibt eigentlich keinen Grund, warum ich das Skript brauche

an den Anfang des Threads zu stellen.
Vielleicht ein nett gemeinter Tipp für die Zukunft.

Gruß,
Uwe

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #12 am: 19.07.05 - 19:13:05 »
Zitat
Ich meine auch nur, es wäre fairer, so einen Satz:


Zitat
Es gibt eigentlich keinen Grund, warum ich das Skript brauche

an den Anfang des Threads zu stellen.
Vielleicht ein nett gemeinter Tipp für die Zukunft.

Gruß,
Uwe

Warum? Darf man hier nur Fragen stellen, wenn diese dringender beruflicher Natur sind? Ich habe mit keinem Wort gesagt, dass ich die Lösung unbedingt ganz schnell brauche und ich wüsste auch nicht, dass man das hier jedes Mal extra erwähnen muss, wenn man eine Frage stellt, die sich auf rein privates Interesse begründet.

Glombi

  • Gast
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #13 am: 19.07.05 - 19:48:00 »
Meiner Meinung nach wäre es nur fair, wenn man einen Hinweis gibt "Nur Interesse halber, es besteht kein akutes Problem".

Ausserdem kann ich Deine Reaktion nicht verstehen. Du hast WIRKLICH viel Input bekommen, es aber mit keiner Silbe erwähnt.  :(

Andreas

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #14 am: 19.07.05 - 19:56:35 »
Ja, du hast recht. Ich habe vergessen, mich zu bedanken. Das tut mir leid. Ich danke euch für die Hinweise.

Den anderen Punkt finde ich ein wenig unfair. Die Leute schreiben doch meist, wenn es dringend ist und das hätte ich vielleicht auch gemacht, wenn es so gewesen wäre. War aber nicht nicht. Ich habe es bis jetzt in noch keinem einzigen Programmierforum erlebt, dass man deswegen so einen Aufstand macht.

Glombi

  • Gast
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #15 am: 19.07.05 - 20:32:02 »
Gegen Forschungsprojekte gibt es ja auch gar nichts einzuwenden. Das machen wir hier öfters, nur wird es dann gesagt.

Wir müssen uns die Threads, die wir beantworten bzw. interessiert beobachten, aber auch einteilen. Und dann ist es den Fragestellenden gegenüber nur fair, wenn man "echte Probleme" zuerst behandelt, bevor man sich den evtl. sogar interessanteren (wie in Deinem Fall) widmet.

Ich hoffe auf Dein Verständnis.
Und andere Foren interessieren mich nicht. Wenn Du meinst, dass Du dort besser behandelst wirst, dann musst Du da posten.

Wie gesagt: Dein Problem ist interessant und nun sollten wir zur technischen Diskussion zurückkehren. Mit dem Input solltest Du nun in der Lage sein, einen ersten Programmentwurf zu machen. Falls Du nicht weiterkommst oder Fragen hast, helfen wir natürlich gerne.

Übrigens: Nach 20:00 sind die meisten dringenden Fälle erledigt und dann nehmen wir uns die Forschungsprojekte vor  ;)

Andreas

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #16 am: 19.07.05 - 20:37:15 »
Zitat
Ich hoffe auf Dein Verständnis.
Und andere Foren interessieren mich nicht. Wenn Du meinst, dass Du dort besser behandelst wirst, dann musst Du da posten.

Das war lediglich eine Rechtfertigung von mir. Wenn ich meine, mich dort besser aufgehoben zu fühlen, hätte ich dort gepostet.
Die Antworten auf mein Thema (ausser die von heute natürlich) wurden ja auch allesamt nach 20 Uhr getätigt, also gibts ja keinen Grund zur Unruhe.

OK, ich sehe mal, ob ich weiterkomme und melde mich dann nochmal.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #17 am: 19.07.05 - 20:48:27 »
Schön, dass wieder Einigkeit herrscht  :) Was gesagt wurde, war sicherlich nötig, aber nun ist ja alles im Lot.
Vorschlag:
Drösel den Vorgabestring mit LS in ein Array aus einzelnen Buchstaben auseinander.
Mit Uwes Vorschlag dann mit diesem Array in Formelsprache weitermachen - ggf. mit Evaluate (wegen R5).

Es stimmt schon - das Thema ist nicht uninteressant, wenn auch reichlich "unpraktisch" (solange keine ernsthafte Anforderung anliegt). Aber der Praxisbezug kann ja schneller kommen als gedacht.

Good luck !

Bernhard

PS: Auf jeden Fall ist solch eine Denksportaufgabe lohnenswerter als 9Live  ;D

Glombi

  • Gast
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #18 am: 19.07.05 - 21:07:18 »
In R5 wird es mit Formelsprache knifflig, um es mal harmlos auszudrücken. Daher rate ich auch zu Script.

Eine Frage kam hier am Rande:
Zitat
Nur wie man aus dem dreibuchstabigen String mal schnell eine drei-elementige Liste macht, fällt mit in R5 auch nicht ein
Es geht, wenn man weiss, aus welchen Zeichen der String bestehen kann.

Für die 3 Zeichen r a k ginge es dann so:
_Liste := @Explode(@ReplaceSubstring(SourceString;"r":"a":"k";"r ":"a ":"k ");" ");

Das aber nur am Rande. Insgesamt würde das in eine wüste Tipparbeit ausarten.
Leider gibt es ja keine Wildcard als 2. Parameter.

Andreas

Offline Obrac

  • Senior Mitglied
  • ****
  • Beiträge: 279
  • Geschlecht: Männlich
Re: String auseinandernehmen und neu zusammensetzen
« Antwort #19 am: 19.07.05 - 21:17:55 »
Zitat
Es geht, wenn man weiss, aus welchen Zeichen der String bestehen kann.

Dahin würde man vielleicht kommen, indem man anstatt ein Feld für das ganze Wort, ein Feld für jeweils einen Buchstaben benutzt. Dann müsste man aber natürlich die Anzahl der Buchstaben, aus dem das Wort besteht, begrenzen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz