Предмет: Информатика, автор: Аноним

 Шифр цезаря на паскале , почему не выдает при дешифрации букву В с ключом 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.

Ответы

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