Вот шифр цезаря на паскале но в чем заключаеться вопрос, в том что если в слове есть буква близкая к концу алфавита например я то прибавляя ключ (например
5-9 класс
|
3) он не может перескочить к началу алфавита! помогите пожалуйста!
program z1;
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=0 then k:=(j-d) mod 32 else k:=(j+d);
if a[i]=b[j] then c:=c+b[k];
end;
writeln(c);
readkey;
end.
Я думаю, что в процедуре шифрования надо добавить проверку, типа такой
If g=0 then k:=(j-d) mod 32 else k:=(j+d);
If k > 32 then k := k-32;
if a[i]=b[j] then c:=c+b[k];
Другие вопросы из категории
begin
for j:= 1 to m do
c[i,j]:=a[i,j]+ a[i,j]
end;
Какую типовую задачу выполняет алгоритм?
>в) откуда= «Н.Тагил»
Читайте также
говорить с девушками. Просто Артур с детства не выговаривает букву «р» и очень этого стесняется. Поэтому Артур старается не произносить лишний раз слова, в которых есть эта ненавистная ему буква.Однажды друзья познакомили Артура с девушкой по имени Нина (о, какое прекрасное имя!). Она была очаровательна и очень болтлива, поэтому Артуру почти не нужно было подбирать слова — она заполняла неловкую тишину за него. Разумеется, он пригласил ее в кафе выпить чашечку кофе. Артур даже продумал все свои реплики заранее: «Счастлив тебя видеть», «Ты сегодня восхитительна», «Да, конечно, я внимательно тебя слушаю», «И что дальше?», «Счет, пожалуйста» и, конечно, «Я позвоню тебе на днях, не скучай».Но, как известно, не бывает идеальных планов. Все шло как по маслу, но вдруг, сидя за столиком в кафе, Нина сказала, что ужасно не выспалась и не отказалась бы от N чашек кофе. И тут Артур понял, что он не обдумал заранее, как он будет делать заказ. Понятно, что нужно сказать что-то вроде: «Сколько-то чашек кофе, пожалуйста», но вот сколько же чашек нужно, чтобы Нина так и не поняла, что Артур не выговаривает букву «р»? Явно нужно заказать не меньше, чем N + 1
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.
программу на Паскале, в которой вычисляются четыре величины: средние температуры зимних месяцев, весенних месяцев, летних и осенних. 2)Вы посетили магазин и купили 10 видов товара. В таблицу T [1..10] записали количество купленного товара каждого вида. В таблицу C [1..10] записали цену единицы каждого вида товара соответственно. Составить программу на Паскале вычисления общей стоимости всех покупок.
ПОЖАЛУЙСТА,ХОТЯ БЫ НА ПАСКАЛЕ СОСТАВЬТЕ!