#903
Cezar
În criptografie, cifrul Caesar este una dintre cele mai simple și mai cunoscute modalități de criptare a unui text. Este un cifru cu substituție, în care fiecare literă textul inițial este înlocuită cu o literă care se află în alfabet la o distanță fixă față de cea înlocuită. Această metodă este numită așa după Iulius Cezar, care o folosea pentru a comunica cu generalii săi.
De exemplu, cu o deplasare de 3
poziții, A
este înlocuit cu D
, B
devine E
și așa mai departe – în final X
devine A
, Y
devine B
, Z
devine C
. Celelalte caractere din text rămân nemodificate. Astfel, textul ana are mere
devine dqd duh phuh
.
Să se scrie un program care citește un text și un număr reprezentând deplasarea și îl criptează folosind cifrul Cezar cu deplasarea dată.
Problema | Cezar | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #49274201 | Utilizator | |
Fișier | cezar.cpp | Dimensiune | 353 B |
Data încărcării | 23 Februarie 2024, 12:03 | Scor / rezultat | Eroare de compilare |
cezar.cpp: In function 'int main()': cezar.cpp:7:23: error: invalid conversion from 'unsigned char*' to 'std::basic_istream<char>::char_type* {aka char*}' [-fpermissive] cin.getline(s, 500); ^ In file included from /usr/include/c++/4.8/sstream:38:0, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from cezar.cpp:1: /usr/include/c++/4.8/istream:427:7: error: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int]' [-fpermissive] getline(char_type* __s, streamsize __n) ^ cezar.cpp:6:15: warning: unused variable 'nr' [-Wunused-variable] int x, i, nr=0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cezar face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.