37

Паскаль шифр цезаряпочему при дешифровке в слове с буквой…

aleksandra_61 20 февраля 2023

Паскаль шифр цезаряпочему при дешифровке в слове с буквой «в» в результате выдает восклицательный знак то есть не может его дешифровать? 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.

категория: информатика

38

Ну во-первых должно быть примерно такfor i: =1 to length (a) do //циклfor j: =1 to length (b) doif a[i]=b[j] thenbeginIf 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] не надо

пользователи выбрали этот ответ лучшим
Знаете другой ответ?

Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...