Odpowiedź:
#include <iostream>
#include <string>
using namespace std;
// funkcja do odszyfrowania litery zgodnie z kluczem
char decode(char c, int key)
{
// litery małe
if (c >= 'a' && c <= 'z') {
c = (c - 'a' + key + 26) % 26 + 'a';
}
// litery duże
else if (c >= 'A' && c <= 'Z') {
c = (c - 'A' + key + 26) % 26 + 'A';
return c;
int main()
string ciphertext;
int key;
// pobieranie zaszyfrowanego tekstu i klucza
cout << "Podaj zaszyfrowany tekst: ";
getline(cin, ciphertext);
cout << "Podaj klucz szyfru Cezara: ";
cin >> key;
// dekodowanie tekstu
string plaintext = "";
for (char c : ciphertext) {
plaintext += decode(c, -key); // klucz jest przeciwny do szyfrowania
// wyświetlenie zdekodowanego tekstu
cout << "Zdekodowany tekst: " << plaintext << endl;
return 0;
Wyjaśnienie:
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Odpowiedź:
#include <iostream>
#include <string>
using namespace std;
// funkcja do odszyfrowania litery zgodnie z kluczem
char decode(char c, int key)
{
// litery małe
if (c >= 'a' && c <= 'z') {
c = (c - 'a' + key + 26) % 26 + 'a';
}
// litery duże
else if (c >= 'A' && c <= 'Z') {
c = (c - 'A' + key + 26) % 26 + 'A';
}
return c;
}
int main()
{
string ciphertext;
int key;
// pobieranie zaszyfrowanego tekstu i klucza
cout << "Podaj zaszyfrowany tekst: ";
getline(cin, ciphertext);
cout << "Podaj klucz szyfru Cezara: ";
cin >> key;
// dekodowanie tekstu
string plaintext = "";
for (char c : ciphertext) {
plaintext += decode(c, -key); // klucz jest przeciwny do szyfrowania
}
// wyświetlenie zdekodowanego tekstu
cout << "Zdekodowany tekst: " << plaintext << endl;
return 0;
}
Wyjaśnienie: