Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Téma zavřeno
Napište program na šifrování a dešifrování textu tzv. Césarovou šifrou. Na prvním řádku dostane program buď řetězec 'sifrovat' nebo řetězec 'desifrovat', podle toho, zda bude program šifrovat nebo dešifrovat. Na druhém řádku bude klíč a na třetím bude samotný text k šifrování/dešifrování.
Text je šifrován posunem písmenek v abecedě podle klíče. Klíč je slovo tvořené písmeny 'A' - 'Z', 'A' znamená posun o 1 písmeno, 'B' znamená posun o 2 písmena, atd. až 'Z' znamená posun o 26 písmen. Posun je chápán cyklicky, čili po písmenu Z následuje opět písmeno A. Pokud je text delší než klíč, tak se po dosažení konce klíče pokračuje opět od začátku klíče.
Klíč je řetězec znaků tvořený pouze písmeny 'A' až 'Z' a vejde se do datového typu string.
Text je řetězec libovolně dlouhý (nemusí se tedy vejít do stringu) a obsahuje pouze znaky 'A' - 'Z' a ' ' (mezera). Mezery ponechte mezerami:-)
Výstupem programu je právě jeden řádek se zašifrovaným/dešifrovaným textem.
Příklad 1:
Vstup:
sifrovat
AAB
SIFRUJI SIFRU
Výstup:
TJHSVLJ TKGSW
Příklad 2:
Vstup:
desifrovat
AAB
TJHSVLJ TKGSW
Výstup:
SIFRUJI SIFRU
v Pascalu
Offline
Zdravím,
to je pořád stejné viz pravidla. Pokud přinášíš zajímavé úlohy pro kolegy (což je také možné), tak začínej, prosím, téma stylem "Chtěl bych se podělit o zajímavou úlohu - zdroj atd." Jinak dle 3. bodu pravidel. Děkuji, téma jsem opět zamkla.
Offline
Téma zavřeno
Stránky: 1