Start-Probleme- Maschinenbau Student
-
Hey de Ho liebe Programmierer-Gemeinde ..
ich studiere Maschinenbau im 3 Semster und haben dieses Semster C-Programmierung für Ingenieure ...
Unser Prof hat uns nun eine Aufgabe mitgegeben die Notenrelevant ist und ich bräuchte ein paar Tipps wie man an die folgende Aufage rangeht. Leider kenne ich mich in den Bereichen Matrix bzw Array noch nicht so gut aus um die Aufgabe so zu schaffen -.- ... ich hoffe ihr könnt mir helfen.Aufgabe:
5. Agenten leben gefährlich! Aus diesem Grunde befiehlt der Chef des Geheimdienstes von
Balkonien, die Namen seiner Agenten nur verschlüsselt zu speichern.
Beim verwendeten Veschlüsselungsverfahren wird ein Schlüssel definiert (z.B. QUARK) und dann buchstabenweise gearbeitet: zum Index (=Position im Alphabet) des zu verschlüsselnden Buchstabens wird der Index des entsprechenden Buchstabens des Schlüssels addiert, die Summe ist der Index (Modulo 26) der gesuchten Verschlüsselung.Beispiel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26Name : H A S E N F U S S
Schlüssel: Q U A R K Q U A R
Summe : 25 22 20 23 25 23 42 20 37
Verschlüsselung: Y V T W Y W P T KSchreiben Sie ein Programm, das den Namen eines Agenten einliest und nach dem obigen (Vignere-) Verfahren verschlüsselt und ausgibt. Der Schlüssel wird auch eingelesen.
Vielen Dank im Vorraus
Grüße Henno
-
Was hast du denn bisher selbst gemacht?
Schreibe deinen Code mal basierend auf dem in der Vorlesung vermittelten Wissen hin soweit du kommst, ggf. nutze auch Bücher.
Erstelle also ein compilierfähiges Rahmenprogramm, die für dich kritischen Stellen lässt du leer mit einem entsprechenden Kommentar.
Dann wird dir sicher schneller geholfen.
-
danke für deine Antwort...
mein Problem ist gleich am Anfang:
Wie bekommt man es hin dass man in einem Array bzw Matrix die Buchstaben A bis Z und die dazugehörigen Zaheln 1-26 bekomm..
-
const char *alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Sei dein Alphabet. Man kann sich (ich denke das ist erlaubt) den Umstand zu Nutze machen, dass die genannten Großbuchstaben im ASCII-Zeichensatz alle direkt hintereinanden Liegen.
Um nun den Index für den Buchstaben 'C' zu ermitteln, müssen wir vom ASCII-Wert von 'C' den ASCII-Wert von 'A' abziehen. Die Differenz ergibt 2. Da dein Lehrer die Indizes aber mit 1 beginnen lässt musst du einfach noch 1 draufaddieren.Ich denke das ist genügend Starthilfe