|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
30.10.2016, 00:20 | #1 (permalink) |
Member
Регистрация: 13.10.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Программа работает, но при расшифровке удаляет пробелы
Код:
program zi3; function Cesar_Crypt(s: string): string; const SizeA = 34; // ?????? ???????? RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; // ??????? var i, P, n: integer; temp: string; flag: boolean; Q: string; begin flag:=false; Result := ' '; writeln('введите размер шага'); readln(n); s := AnsiLowerCase(s); temp := ''; //удаление символов сообщения, не входящих в наш алфавит for i := 1 to length(s) do if pos(s[i], RusA) <> 0 then temp := temp + s[i] else flag := true; if flag then begin writeln('удалить другие символы да/нет'); readln(Q); if Q = 'да' then s := temp else if Q = 'нет' then writeln('неверный ввод. Буквы удалим '); begin s := temp end; end; for i := 1 to length(s) do begin P := pos(s[i], RusA) + n; if P > SizeA then P := P - SizeA; Result := Result + RusA[P]; end; end; //Дешифрование Цезаря function Cesar_DeCrypt(s:string):string; const SizeA = 34; // RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '; // алфавит var i, P, n: integer; temp: string; flag: boolean; Q: string; begin flag:=false; Result := ' '; writeln('введите размер шага'); readln(n); s := AnsiLowerCase(s); temp := ''; //удаление символов сообщения, не входящих в наш алфавит for i := 1 to length(s) do if pos(s[i], RusA) <> 0 then temp := temp + s[i] else flag := true; if flag then begin writeln('удалить другие символы да/нет'); readln(Q); if Q = 'да' then s := temp else if Q = 'нет' then writeln('неверный ввод. Буквы удалим '); begin s := temp end; end; for i:=1 to length(s) do begin P:=pos(s[i],RusA)-3; if P<=0 then P:=P+SizeA; Result:=Result+RusA[P]; end; end; var aStr : String; bStr: string; begin SetConsoleCP(1251); SetConsoleOutputCP(1251); writeln ('введите фразу для шифрования'); readln ( aStr ); writeln ('зашифрованный текст - ',Cesar_Crypt(aStr)); writeln('введите фразу для дешифрования'); readln ( bStr ); writeln ('расшифрованный текст - ',Cesar_DeCrypt(bStr)); readln; end. |
30.10.2016, 00:20 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Темы уже встречались, ознакомьтесь с информацией которую они содержат Нужна помощь в расшифровке Помогите удалить Avira, спец программа для ее удаления не удаляет ее MSE по 100 раз удаляет,удаляет - да удалить не может) TrojanDownloader:Win32/Carber Прошу помощи в расшифровке Нужна помощь в расшифровке файлов |
06.11.2016, 08:56 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Сформулируйте, пожалуйста, задание ПОЛНОСТЬЮ: тут, мне кажется, легче написать свою программу, чем исправлять Вашу.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|