Шифр цезаря на паскале , почему не выдает при дешифрации букву В с ключом 3 и 5 и дальше!что исправить?
5-9 класс
|
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.
1. На кой такие сложности не ясно. Коды символов идут по порядку русских на сколько я помню,
2. Отладка в этом случае должна помоч. Вводи алфавит и смотри результат, должен быть сдвиг на ключ.
Другие вопросы из категории
НА ПАСКАЛЕ.
МЕНЯ НЕ БЫЛО НА ЭТОЙ ТЕМЕ А ЗАВТРА КОНТРОЛЬНАЯ,ПОМОГИТЕ ПЖЛ.ТОЛЬКО САМИ ПОЖАЛУЙСТА НЕ С ИНТЕРНЕТА ТАМ НЕ ПОНЯТНО МНЕ..(
синяя у маши не синяя а у вари не белая впоследствии выяснилось что в ответе верно сказано о цвете флэшки только одной девочки. Какого цвета флэшка у каждой девочки.
по одному предмету имеют "3" : по русскому языку 4 человека, по математике 4 человека и по физике 11 человек. Семь человек имеют "3" и по математике и по физике, из них пятеро имеют "3" и по русскому языку. Сколько человек учатся без "3" ? Сколько человек имеют "3" по двум из трёх предметов?
Читайте также
программу на Паскале, в которой вычисляются четыре величины: средние температуры зимних месяцев, весенних месяцев, летних и осенних. 2)Вы посетили магазин и купили 10 видов товара. В таблицу T [1..10] записали количество купленного товара каждого вида. В таблицу C [1..10] записали цену единицы каждого вида товара соответственно. Составить программу на Паскале вычисления общей стоимости всех покупок.
ПОЖАЛУЙСТА,ХОТЯ БЫ НА ПАСКАЛЕ СОСТАВЬТЕ!
каждого года XX века?
2)Вы приобрели котёнка.Каждый вечер вы определяете его вес с помощью весов.Как можно описать на Паскале массив,в котором будет храниться значения веса котёнка в течение месяца (например,мая)?
почему при дешифровке в слове с буквой "в" в результате выдаёт восклицательный знак то есть не может его дешифровать?
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 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.