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

4 Lösungen Lösungen öffentlich
#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
1x
vote_ok
von Sone (2570 Punkte) - 04.01.2013 um 11:06 Uhr
Quellcode ausblenden C-Code
#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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2102825

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.