C++-Programm die eine Cäser-Verschlüsselung ist aber mit zusätlichen verschiebungen erste zeichen um1 zweite um 2 zeichen und so weiter....?

2 Antworten

Dein Programm erzeugt keine Verschlüsselung sondern gibt nur aber der n-ten Stelle den Text aus. Am besten erzeugst Du erst ein Hilfsarray von 1..26 mit dem verschobenen Alphabet.

Woher ich das weiß:Studium / Ausbildung

Was genau ist deine Frage?

Das Program dazu hat einen Zeitaufwand von vielleicht 15 Minuten. Selbst wenn man nicht gut in C++ ist, ist das eine sehr dankbare Aufgabe.

Liebe Grüße, JutenMorgen!

Tecko95 
Fragesteller
 23.03.2018, 18:11

Meine genaue frage ist wie kann ich diese Cäser-Verschlüssleung erweitern den ersten buchstaben um 1 den zweiten um 2 und so weiter.

0
JutenMorgen  23.03.2018, 18:34
@Tecko95

In deinem Program ganz einfach indem du deinen Wert Verschiebung in der For-Schleife um den gewünschten Faktor erhöhst.
Beispiel:

for (int zaehler = 0; zaehler<laenge; zaehler++)

   {

      cout << static_cast<char>(kette[zaehler] + verschiebung);

      cout << endl << endl;

      verschiebung++; oder verschiebung *= 2;

   }

Liebe Grüße, JutenMorgen!

2
Tecko95 
Fragesteller
 23.03.2018, 18:44
@JutenMorgen

ganau dannach suchte ich ganze zeit ich danke dir das du meine frage herzlich beantwortet hast

1
PWolff  23.03.2018, 19:52
@JutenMorgen

Müsste hier nicht irgendwo noch ein Modulo (%) rein, damit nicht (v. a. bei längeren Texten) irgendwann ein Overflow auftritt?

0
JutenMorgen  23.03.2018, 20:21
@PWolff

Erstens sehe ich nicht, wie in dem Program durch einen zu langen String ein Overflow entstehen könnte (ausser der string ist länger als INT_MAX) und zweitens wüsste ich nicht was ein Modulo-operator dabei helfen sollte.

Ich würde mir viel eher Gedanken darum machen, dass die caesar-methode vorne und hinten nicht funktioniert wie aufgetragen. Einfaches Beispiel: "z" als Eingabe und ">0" als Verschiebung ;)

0
JutenMorgen  23.03.2018, 20:34
@PWolff

Ah du meinst bei der Verschiebung einen Overflow?

Ja das könnte passieren. In dem Fall würde der int halt einfach negativ werden und von dort weiter machen. Die Gefahr könnte man mit einem unsigned int oder wenn man ganz sicher gehen möchte mit einem unsigned long long minimieren...

0