Entwickler-Ecke
Basistechnologien - Feld von vorne lesen/schreiben/benutzen...
ad_t1404 - Fr 07.12.12 21:39
Titel: Feld von vorne lesen/schreiben/benutzen...
Abend!
bin zufällig auf euer Forum gestoßen und finde es ganz nett hier, hab mich dann einfach mal registriert! :)
Dann bitte ich Euch gleich mal um Rat...
Ich habe ein kleines C# Programm geschrieben. Ich habe ein string feld mit dem Inhalt dem Alphabet. Ich übergebe einer Funktion einen beliebigen String und die Funktion ändert mein string so, dass jeder Buchstabe um 2 nach rechts geht. Z.b. aus "HALLO" wird "JCNNQ". Falls es jemanden interessiert, ich habe versucht die sogenannte "Enigma Verschlüsselung nachzubauen... Mein Problem ist, dass wenn ich jetzt z.B. den Buchstaben "Y" verschlüsseln will, dann kommt logischerweise die Fehelermeldung dass ich außerhalb des Feldes bin, wie kann ich jetzt in meinem Programm schreiben dass der einfach von vorne anfangen soll? also wieder mit "A" beginnt?
Ich hoffe ihr versteht mein Problem und könnt mir helfen! :)
Grüße
ad_t1404
mandras - Fr 07.12.12 22:08
ad_t1404 hat folgendes geschrieben : |
wenn ich jetzt z.B. den Buchstaben "Y" verschlüsseln will, dann kommt logischerweise die Fehelermeldung dass ich außerhalb des Feldes bin, wie kann ich jetzt in meinem Programm schreiben dass der einfach von vorne anfangen soll? also wieder mit "A" beginnt?
|
So logisch ist das nicht. Wieso bist Du dann außerhalb des Felds? Du erhöhst ja den Zeichenwert um 2, schreibst aber das Ergebnis anscheinend an die gleiche Stelle.
Wenn Du wissen willst, wie Du von "Y" -> "A" kommst ist der Modulo-Operator Dein Freund.
Meine C/C++ Zeiten sind seit 15 Jahren vorbei, es müßte aber so gehen (oder so ähnlich *g*):
*X = ((*X - 65 +2) % 26)+65
Also: Zuerst dafür sorgen daß "A" auf Null normiert wird, 2 addieren und dann durch 26 teilen. Den Rest der Division wieder um 65 erhöhen so daß wieder auf "A" normiert ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!