Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2016, 17:05   #1
Анна997
Пользователь
 
Регистрация: 15.04.2016
Сообщений: 26
По умолчанию Реализовать режим шифровки расшифровки и возможность дополнительного контроля ввода

Порядок действий для режима шифрования:
1. Ввести строку текста:

write('Введите текст для шифрования: ');
read(s);
writeln('-------------------------------------------------');
2. Ввести размер блока:

write('Введите количество цифр в ключе: ');
readln(key);
3. Если длина строки не кратна размеру блока, дополнить ее пробелми до нужной длины:

len:= length(s);
while len mod key<>0 do
begin
s:=s+' ';
inc(len)
end;
4. Ввести порядок перестановки и проверить, составляют ли числа,
задающие порядок перестановки, правильный ключ, т.е. каждое число
должно встречаться один раз:

writeln('Введите ключ из ',key,' цифр: ');
repeat
v:=0;
for i:=1 to key do
begin
read(p);
a[i]:=p
end;
for i:=1 to key-1 do
for j:=i+1 to key do
if a[i]=a[j] then inc(v);
if v<>0 then
begin
writeln ('Ошибка! Символы ключа не уникальны!');
write('Введите ключ из ',key,' цифр: ');
end
until v=0;
5. Осуществить перестановку по заданному правилу:

while v<>len do
begin
for i:=1 to key do
r[i+v]:=s[a[i]+v];
v:=v+key
end;
6. Вывести полученное зашифрованное сообщение:

writeln('--------------------------------------------------');
write('Зашифрованный текст: ');
for i:=1 to len do
write(r[i]);
writeln;

Помогите написать все в одну программу, что бы в программе можно было выбирать режим шифрования или расшифровки

Пример . Открытый текст: "ШИФРОВАНИЕ_ПЕРЕСТАНОВКОЙ".
Ключ (правило перестановки): группы из 8 букв с порядковыми номерами
1, 2, ..., 8 переставить в порядок 3-8-1-5-2-7-6-4.
Шифртекст: "ФНШОИАВР_СИЕЕЕРПННТВАОКО".
Анна997 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно реализовать возможность включения/выключения сетки Canvas? aslan05 WPF, UWP, WinRT, XAML 0 02.06.2015 19:50
Добавить возможность ввода количества лет tisit Помощь студентам 1 25.01.2015 21:23
Реализовать класс с именем "Stroki". Реализовать в нём возможность <Поиска и замены фрагмента> Olgazag C# (си шарп) 0 12.12.2013 11:09
Реализовать 8-разрядную схему контроля четности sssf90 Помощь студентам 0 24.11.2013 20:45
как ограничить возможность ввода формата в ячейках? Ivo4ka Microsoft Office Excel 23 14.02.2008 09:02