Musterähnliche Logik in ein Programm umwandeln



  • Hallo,

    ich überlege nun schon seit ziemlich genau einem Monat wie ich das folgende Problem im Anhang umsetzen kann.

    Dort ist eine Art Raster, welches ich für eine Verschlüsselung benutze. Nun ist es so, das zwischen den einzelnen Kreuzungen der Theorie nach beliebig viele Abzweigungen existieren dürfen, an denen ich mich orientieren darf.
    Nur wie programmiere ich das Ganze, so dass ich an einem Punkt beginne, über das Raster verschiedene Abzweigungen mitnehme und an einer bestimmten Kreuzung den Buchstaben abspeichere(wobei das speichern nicht das Problem ist)? Von dieser Kreuzung aus geht es dann zur nächsten Kreuzung.

    Würde es immer nur 4 Abzweigungen geben, hätte ich gesagt, das ich ein normales Array verwende. Aber sobald es mehr als 4 Abzweigungen sind, klappt dies auch nicht mehr.

    http://www.lightstripe.de/images/Map.jpg

    Ich weiß das einige sagen werden: "Whaaaat willste?" ... ich weiß es sonst leider nicht anders zu beschreiben, deswegen dankeschön an all diejenigen die versuchen die Sache in den Kopf reinzubekommen.

    Thx Takeo



  • Takeo schrieb:

    Ich weiß das einige sagen werden: "Whaaaat willste?" ... ich weiß es sonst leider nicht anders zu beschreiben, deswegen dankeschön an all diejenigen die versuchen die Sache in den Kopf reinzubekommen.

    Genau so geht es mir gerade 😃

    Wie wäre es mit einer verketteten Liste?

    Liste
    v
    next -> next -> next -> next -> next
    v
    next -> next -> next -> next -> next
    v
    next -> next -> next -> next -> next
    v
    next -> next -> next -> next -> next
    v
    next -> next -> next -> next -> next

    Wobei mir nicht so klar ist, was du eigentlich vor hast, lol...

    Viel Erfolg 👍



  • Okay, ist zuviel verlangt eine Lösung haben zu wollen, ohne wirklich zu verraten worauf ich hinaus will.

    Bitte nebenbei einen Blick auf die Map werfen.

    Ziel des Ganzen ist eine Methode zum Verschlüsseln von Texten. Mir ist schon klar, das diese nicht die Sicherste von allen ist. Bin mir nicht sicher ob jemand sowas in der Art schonmal gemacht hat, mir kam die Idee eines Tages mal in den Kopf.(auf Papier funktioniert die Methode prima)

    Ich möchte folgendes Wort verschlüsseln: ANGST
    Meine Startposition ist unten links, bei E.
    Mein erster anzusteuernder Buchstabe ist A.

    Der Pfad von E zu A lautet: TSRQ
    Der Pfad von A zu N lautet: iMmJK
    Der Pfad von N zu G lautet: wZkN
    Der Pfad von G zu S lautet: moFG
    Der Pfad von S zu T lautet: tLgH

    Die Verschlüsselung von ANGST lautet also TSRQ iMmJK wZkN moFG tLgH. (das zu knacken hab ich schon geschafft... mir geht es hier wirklich nur um das "wie löse ich es")

    Jetzt müssen zwischen diesen Knoten ein paar Verbindungen geschaffen werden. Nur wie drücke ich sowas in C++(z.B.) aus? Die Knoten müssen ja irgendwie gespeichert werden und in Verbindung mit den Verbindungen gebracht werden.

    Bei dem folgenden kann ich mich jetzt womöglich irren: von NEXT > NEXT > NEXT > usw. ist denke ich recht unpraktisch bzw. ich wüsste nicht wie ich spätestens bei dem entschlüsseln in der Programmlogik das so preisgebe, das es mehr als nur eine Verbindung gibt.... ach... ich bin ein verbales Wrack.. sorry...

    ich hoffe es ist jetzt besser zu verstehen.

    Thx Takeo



  • geht es dir jetzt darum, wie du das Raster abspeichern kannst?
    Dann würde ich dir einen Graphen empfehlen, sprich jeder Knoten enthält einen Wert (den buchstaben) und eine liste mit zeigern auf andere knoten, die kanten. Jede kante hat auch einen wert, nämlich den namen des pfades.



  • Danke dir Maxi! Genau das ist die Antwort die ich haben wollte. Mir ging es um die Speicherung des Rasters.(wie ich oben schon sagte, bin neuerdings eine verbale Niete)

    Tausend Dank!



  • Takeo schrieb:

    Danke dir Maxi! Genau das ist die Antwort die ich haben wollte. Mir ging es um die Speicherung des Rasters.(wie ich oben schon sagte, bin neuerdings eine verbale Niete)

    Tausend Dank!

    hat es dir auch weitergeholfen? mich hat dies hier nämlich auch gerade gefesselt und war gerade dabei eine implementierung zu schreiben 😃



  • was mich interessieren würde ist: Gibt es die oben gegebene Verschlüsselungsmethode bereits? Wenn ja, wie nennt die sich?

    EDIT: Mir hat es im Moment weitergeholfen. Ich hock jetzt nicht mehr vor der IDE und überlege wie ich es anstellen könnte. Komme heute nur leider nicht mehr zum programmieren.



  • Takeo schrieb:

    was mich interessieren würde ist: Gibt es die oben gegebene Verschlüsselungsmethode bereits? Wenn ja, wie nennt die sich?

    EDIT: Mir hat es im Moment weitergeholfen. Ich hock jetzt nicht mehr vor der IDE und überlege wie ich es anstellen könnte. Komme heute nur leider nicht mehr zum programmieren.

    in der art und weise hab ich den algorithmus noch nicht gesehen. er ist auf jeden fall ein abkömmling der polygrammsubstitution und hat sehr große ähnlichkeit mit dem playfair-algorithmus.


Anmelden zum Antworten