Den Code knacken
Du hast eine Nachricht abgefangen, die jemand anderes geschickt hat. Sie steht im neuen Array abgefangen, mit derselben Verschlüsselung verschlüsselt, aber du kennst die Verschiebung nicht. Du kannst sie aber herausfinden: Im Deutschen ist der häufigste Buchstabe das e. In einer kurzen Nachricht muss das nicht so sein, aber in dieser ist es so. Die Nachricht besteht nur aus Kleinbuchstaben.
Finde den häufigsten Buchstaben der Nachricht. Die Verschiebung ist die Zahl der Stellen, die dieser Buchstabe nach dem e kommt, denn das ist es, wozu das e geworden ist. Entschlüssele dann die Nachricht mit der gefundenen Verschiebung. Die Ausgabe endet so:
Antwort: Gut, ich bringe die Karte mit
Häufigster Buchstabe: l
Verschiebung: 7
Entschlüsselt: der schatz liegt unter dem alten baumWenn der häufigste Buchstabe im Alphabet vor dem e steht, ging die Verschiebung über das z hinaus und von vorn weiter: Wenn aus e ein c geworden ist, beträgt die Verschiebung 24.
Ein Tipp: Erinnere dich an die Funktion zaehle_buchstabe aus der Lektion über Funktionen, die zählt, wie oft ein Buchstabe in einem Text vorkommt. Probiere sie mit jedem Buchstaben von a bis z aus und behalte den mit der höchsten Anzahl, so wie du in der Lektion über Arrays den größten Wert gefunden hast.
Das ist das ganze Projekt. Dein Programm verschlüsselt, entschlüsselt und knackt sogar geheime Nachrichten, mit eigenen Funktionen, die mit Zeichenketten arbeiten. In der nächsten Lektion, über Zeiger, erfährst du, was Adressen im Speicher sind und wie eine Funktion eine Variable des Codes ändern kann, der sie aufgerufen hat.
So schreibst du es:
Anweisungen
- 1
Gib den häufigsten Buchstaben und die Verschiebung aus.
- 2
Gib die entschlüsselte Nachricht aus.