Einzelnen Beitrag anzeigen

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