Laura vrea să vă scrie un șir de caractere pe care numai ea îl cunoaște. Realizează însă că, dacă l-ar scrie așa, pur și simplu, alte persoane ar putea să îl vadă și să îl înțeleagă, lucru care o îngrijorează. Astfel, fata află despre cum poate ascunde acest mesaj folosind codificarea în ROT13.
Codificarea în ROT13 a unui text cere o examinare a caracterelor alfabetului și înlocuirea fiecărei litere cu litera care se află cu 13
poziții în fața ei în alfabet. De exemplu, A
devine N
, M
devine Z
, N
devine A
ș.a.m.d.
Cerința
Laura vă va da un text codificat. Aflați conținutul acestuia!
Date de intrare
Programul citește de la tastatură un șir de caractere, reprezentând textul codificat.
Date de ieșire
Programul va afișa pe ecran un alt șir de caractere, reprezentând textul decodificat.
Restricții și precizări
1 ≤ strlen(șir inițial) ≤
\( {10}^{6} \);- Șirul va conține doar litere mici și mari ale alfabetului englez, precum și spații.
Exemplu
Intrare
Cbg qrpbqvsvpn gbghy va yvzvgn qr gvzc
Ieșire
Pot decodifica totul in limita de timp
Explicație
C↔P
, b↔o
, g↔t
, ...
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema ROT13:
#include <iostream>
using namespace std;
int main()
{
char c;
while(cin.get(c))
{
if(c >= 'A')
{
if(c >= 'a')
c = (c - 'a' + 13) % 26 + 'a';
else
c = (c - 'A' + 13) % 26 + 'A';
}
cout.put(c);
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2715 ROT13
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2715 ROT13 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!