AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zuordnung von einzelnen Zeichen ins Arrays
Thema durchsuchen
Ansicht
Themen-Optionen

Zuordnung von einzelnen Zeichen ins Arrays

Offene Frage von "Waldbärchen"
Ein Thema von Waldbärchen · begonnen am 14. Feb 2007 · letzter Beitrag vom 15. Feb 2007
Antwort Antwort
Waldbärchen

Registriert seit: 6. Feb 2007
Ort: Freiburg i.Br.
6 Beiträge
 
#1

Zuordnung von einzelnen Zeichen ins Arrays

  Alt 14. Feb 2007, 21:27
Hallo zusammen!

Wie ordne ich einzelne Zeichen einer ordinalen Folge zu und rufe sie stellvertretend wieder auf?
Klassischer Fall in der Kryptologie:
Ich habe die 26 unverschlüsselten Buchstaben A - Z.
Wie generiere ich jetzt zu einem beliebigen Schlüsselwort einen entsprechenden Code?

Beispiel:
Schlüsselwort/satz:
DELPHI IST PRIMA
Das Programm müßte erstmal alle mehrfach vorkommenden Buchstaben wegnehmen:
D E L P H I S T R M A
anschließend der (alphabetischen!) Reihenfolge nach prüfen, welche Buchstaben noch nicht da sind und die dann hinten dranhängen:
D E L P H I S T R M A B C F G J K N O Q U V W X Y Z
zuletzt zum Kodieren und zum Dekodieren jeweils eine Zuordnung zum Klartextalphabet herstellen.
Hat jemand von Euch Ideen, wie man das automatisiert, sodaß man für jedes Paßwort die richtige Zuordnung generieren kann?

Weitere Schwierigkeit: Verschiedene Codes benützen nur 25 Buchstaben (I=J), wie z.B. der Playfair-Code. Die sind dort in einer Matrize zu 5x5 Feldern angeordnet, die aber zeilenweise ausgefüllt werden muß, nachdem man das Schlüsselwort wie oben beschrieben eingesetzt hat. Ich bräuchte hierfür also das Alphabet ohne J und müßte dann ein eindimensionales in ein zweidimensionales Array umwandeln, damit ich die Buchstaben nach dem Ausfüllen der Matrix mit ihren Koordinaten aufrufen kann.

Hat dazu auch einer von Euch einen Tip?

Euer Waldbärchen
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 14. Feb 2007, 23:45
Zitat von Waldbärchen:
Wie generiere ich jetzt zu einem beliebigen Schlüsselwort einen entsprechenden Code?
Hat jemand von Euch Ideen, wie man das automatisiert, sodaß man für jedes Paßwort die richtige Zuordnung generieren kann?
Hat dazu auch einer von Euch einen Tip?
OMG... zu viel Fragen auf einmal...
Und bei der ersten Frage: Willst du da etwa, dass wir dir eine ganze Funktion schreiben? Hast du es etwa noch gar nicht probiert? Wenn doch, was gibts dabei für ein Problem?
2. Frage: genau dasselbe...

Also Waldbärchen: Ich glaub es wäre besser, wenn du deine Ideen vortragen würdest und uns deine Fortschritte mitteilen würdest und inwiefern du Probleme* beim Programmieren hast!

* und zum Lösen solcher sind wir dann für dich da [aber nicht um dir etwas im Ganzen zu programmieren]
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 14. Feb 2007, 23:53
Zitat von TonyR:
[...] und uns deine Fortschritte mitteilen würdest und inwiefern du Probleme* beim Programmieren hast!
Jepp. Daran sehen wir dann auch, wie weit du in Delphi bist und in welche Richtung bzw. zu welchen Lösungsansätzen du tendierst.

Für deine Probleme gibt es nämlich 1001 Ansätze.
  Mit Zitat antworten Zitat
Waldbärchen

Registriert seit: 6. Feb 2007
Ort: Freiburg i.Br.
6 Beiträge
 
#4

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 15. Feb 2007, 08:44
Hallo Ihr Zwei!

Es verhält sich so: Ich habe bis jetzt noch nichts richtig mit Arrays etc. gemacht, mir aber den Abschnitt über selbstdefinierte ordinale Datentypen, Strings, Records, Mengen und eben Arrays in meinem Anleitungsbuch schon durchgelesen. Jetzt dachte ich, daß die Sache mit den Zuweisungen bei der Kryptographie eigentlich ein gutes Beispiel wäre, mich dort praktisch einzuarbeiten und habe das gestern nochmals durchgesehen. Dabei bin ich eben auf das Problem gestoßen, entweder für jeden Schlüssel manuell einen neuen Aufzählungsdatentyp definieren zu müssen oder irgend einen Automatismus zu haben, der die geordnete Reihenfolge des Alphabets nach einem vorgegebenen System durcheinanderbringt - und wieder zuordnet. Mit den Mengen und set off könnte man vielleicht prüfen, welche Zeichen man bereits da hat, dann hat man aber wieder nicht die Reihenfolge.
Ich habe also schon Ahnung (meine jedenfalls) , welche Werkzeuge ich dafür verwenden müßte, habe sie aber noch nie benutzt und wollte sie in dem Zusammenhang erst ausprobieren.
Wenn Ihr aber meint, es wäre geschickter, mit was anderem anzufangen, dann könnt ihr mir ja auch was anderes vorschlagen, dann verschiebe ich das Problem mit den Codes erstmal auf später.

Euer Waldbärchen
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 15. Feb 2007, 09:23
Da ich gar nicht richtig kapiere, wie das mit deinen komischen Verschlüsslungs-Verfahren gehen soll, würde ich dir vorschlagen (wenn du wirklich keinen Plan hast, so wie es auch scheint), dass du mit was leichterem anfängst, wie z.B. einem Höher-Tiefer-Kartenspiel!
Dort kannst du auch Arrays benutzen (um den Kartenstapel darzustellen)....
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Waldbärchen

Registriert seit: 6. Feb 2007
Ort: Freiburg i.Br.
6 Beiträge
 
#6

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 15. Feb 2007, 09:40
Danke für den Tip!
Übrigens nur zur Information von wegen "komischem Verschlüsselungsverfahren"
Kennt Ihr den Playfair-Code nicht?
Schaut mal nach bei Playfair-Code

Euer Waldbärchen
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zuordnung von einzelnen Zeichen ins Arrays

  Alt 15. Feb 2007, 09:54
Nimm für den Anfang Strings. Ein String ist übrigens ein Array (ein Array of char), ähnlich zu händeln, aber eben auch mit den üblichen String-Befehlen (pos, copy, length ,etc.) zu verarbeiten.

Zitat von Waldbärchen:
Schlüsselwort/satz:
DELPHI IST PRIMA
Das schreibst du in ein String Schluessel_brutto.

Zitat von Waldbärchen:
Das Programm müßte erstmal alle mehrfach vorkommenden Buchstaben wegnehmen:
Dazu gehst du in einer Schleife Schluessel_brutto Zeichen für Zeichen durch und guckst, ob das gerade untersuchte Zeichen im String Schluessel_netto schon vorkommt. Wenn nein, dann das jeweilige Zeichen an Schluessel_netto anhängen. Wenn ja, dann nichts tun. Denke dabei daran, gefundene Leerzeichen in Schluessel_brutto ebenfalls zu überspringen, damit die nicht in Schluessel_netto mit reinrutschen.
So gewinnst du deinen String Schluessel_netto --> DELPHISTRMA

Zitat von Waldbärchen:
anschließend der (alphabetischen!) Reihenfolge nach prüfen, welche Buchstaben noch nicht da sind und die dann hinten dranhängen:
Zum deinem besseren Verständins gestalten wir diese Aufgabe mal etwas umständlich.
Erzeuge dir einen String Zeichenvorrat mit allen Buchstaben --> ABCDE...usw...XYZ
Jetzt gehst du (wieder in einer Schleife) den String Zeichenvorrat Zeichen für Zeichen durch und guckst, ob das gerade untersuchte Zeichen im String Schluessel_netto schon vorkommt. Wenn nein, dann das jeweilige Zeichen an Schluessel_netto anhängen. Wenn ja, dann nichts tun.
So stellst du deinen Schlüssel fertig --> DELPHISTRMABCFGJKNOQUVWXYZ

Zitat von Waldbärchen:
zuletzt zum Kodieren und zum Dekodieren jeweils eine Zuordnung zum Klartextalphabet herstellen.
Welche Art Zuordnung soll denn das werden? Beschreibe das mal in deinen Worten.

Zitat von Waldbärchen:
Weitere Schwierigkeit: Verschiedene Codes benützen nur 25 Buchstaben (I=J), wie z.B. der Playfair-Code.
Vergiss Playfair erstmal, das wäre für dich heute noch zu weit. Grundsätzlich kannst du zu jeder Zeit schauen, ob du gerade ein "J" behandelst und es zu einem "I" machen. Aber sowas kommt dann später.

Zitat von Waldbärchen:
Die sind dort in einer Matrize zu 5x5 Feldern angeordnet, die aber zeilenweise ausgefüllt werden muß, nachdem man das Schlüsselwort wie oben beschrieben eingesetzt hat. [...] und müßte dann ein eindimensionales in ein zweidimensionales Array umwandeln, damit ich die Buchstaben nach dem Ausfüllen der Matrix mit ihren Koordinaten aufrufen kann.
Um Playfair quasi 1:1 im Programm abzubilden mit der 5x5-Matrix, ja. Unbedingt so tun muss man das aber nicht. Auch ein String kann die Matrix darstellen. Man muss dann halt berechnen, an welcher Stelle im String sich z.B. das vierte Zeichen der dritten Zeile der Playfair-Matrix befindet. Aber auch das käme erst später.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz