
Паскаль шифр цезаря почему при дешифровке в слове с буквой "в" в результате выдаёт
восклицательный знак то есть не может его дешифровать?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<0 then k:=k+33;if a[i]=b[j] then c:=c+b[k];end;writeln(c);readkey;end.

Ответы на вопрос

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] не надо



При использовании шифра Цезаря в Паскале, возможно, вы не учитываете пробелы или другие символы, которые не являются буквами алфавита. Когда вы дешифруете зашифрованный текст, эти символы также останутся в зашифрованном виде, и, возможно, станут неправильными символами при дешифровке.
Кроме того, вы используете алфавит с 33 символами, который включает в себя букву "ё". Это может привести к проблемам при дешифровке, поскольку не все языки используют эту букву. Если вы дешифруете текст на другом языке, который не использует букву "ё", вы можете получить неправильный результат.
Чтобы исправить проблему с неправильным дешифрованием символа "в", вам нужно убедиться, что вы правильно обрабатываете все символы, которые не являются буквами алфавита. Например, вы можете добавить проверку на пробелы или другие символы, и оставлять их без изменений при шифровании и дешифровке.
Кроме того, вы можете использовать алфавит только с 32 символами, чтобы исключить букву "ё". Тогда ваша программа будет работать правильно на всех языках, которые используют только 32 буквы в алфавите.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili