C++ :: Aufgabe #27 :: Lösung #3
4 Lösungen

#27
Mit Caesar Chiffre ent- und verschlüsseln
Anfänger - C++
von Dome
- 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.
Konsolenausgabe:
Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#3

von Sone (2570 Punkte)
- 04.01.2013 um 11:06 Uhr

#include <iostream> #include <string> #include <iterator> int main() { using namespace std; string str; getline(cin, str); std::cout << "Stellen: "; auto shift = *std::istream_iterator<unsigned>(std::cin); auto shift_for_all = [&str, shift](char base, char end) { for(auto& c : str) if(c >= base && c <= end) c = (c - base + shift) % (end - base) + base; }; shift_for_all('A', 'Z'); shift_for_all('a', 'z'); shift_for_all('0', '9'); std::cout << "Digits and characters shifted: " << str; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1