Шифр цезаря ** паскале , почему не выдает при дешифрации букву В с ключом 3 и 5 и...

0 голосов
83 просмотров

Шифр цезаря на паскале , почему не выдает при дешифрации букву В с ключом 3 и 5 и дальше!что исправить?


program SHIFR_CEZERYA;
uses crt;
var a,b,c:string;
i,j,k,d,g:integer;
begin
clrscr;
writeln('Шифрование?1-да,0-нет');
readln(g);
writeln('Исходный текст ');
readln(a);
writeln('ключ');
readln(d);
c:=''; //Результат
b:='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
for i:=1 to length(a) do //цикл
for j:=1 to length(b) do
begin
If g=1 then k:=(j+d) mod 33 else k:=(j-d)mod 33;
if a[i]=b[j] then c:=c+b[k];
If k>33 then k:=k-33 else k:=k+33;
end;
writeln(c);
readkey;
end.


Информатика | 83 просмотров
Дан 1 ответ
0 голосов

1. На кой такие сложности не ясно. Коды символов идут по порядку русских на сколько я помню,
2. Отладка в этом случае должна помоч. Вводи алфавит и смотри результат, должен быть сдвиг на ключ.

(18 баллов)