Информатика, опубликовано 2018-08-22 20:32:49 by Гость

Паскаль шифр цезаряпочему при дешифровке в слове с буквой "в" в результате выдаёт восклицательный знак то есть не может его дешифровать?program SHIFR_CEZERYA;uses crt;var a,b,c:string;i,j,k,d,g:integer;beginclrscr;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) dobeginIf g=1 then k:=(j+d) mod 33 else k:=(j-d)mod 33;If k>33 then k:=k-33;if k

Ответ оставил Гость

Ну во-первых должно быть примерно так
for i:=1 to length(a) do //цикл
for j:=1 to length(b) do
if a[i]=b[j] then
begin
If g=1 then k:=(j+d) mod 33 else k:=(33+j-d)mod 33;
c:=c+b[k];
end;

и во-вторых, второй цикл не нужен, там надо выяснять 
значение j поиском a[i] в b, тогда и условия с a[i]=b[j] не надо

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.