#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 | #40974650 | Utilizator | |
Fișier | cezar.c | Dimensiune | 1.03 KB |
Data încărcării | 07 Ianuarie 2023, 19:25 | Scor / rezultat | Eroare de compilare |
cezar.c: In function 'caesar': cezar.c:34:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < len; ++i) { ^ cezar.c:34:5: note: use option -std=c99 or -std=gnu99 to compile your code cezar.c: In function 'read_from_keyboard': cezar.c:16:20: warning: ignoring return value of 'realloc', declared with attribute warn_unused_result [-Wunused-result] realloc(s, capacity); ^ cezar.c:19:14: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result] scanf("%c", &key); ^ cezar.c: In function 'main': cezar.c:56:10: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &poz); ^
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ă.