|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.12.2012, 17:31 | #1 |
Новичок
Джуниор
Регистрация: 23.12.2012
Сообщений: 1
|
Функция расшифровки текста
Всем привет. Возникла загвоздка в решении.
В задаче есть функция, которая призвана расшифровать текст на англ.языке, который закодирован при помощи сдвига букв (способ Цезаря). Знаки препинания не меняются, регистр букв сохраняет свое исходное значение. Буква "z" переходит в "а". Вот что получилось: ------------------------------------------------- FUNCTION FindText(S: string):string; {S - строка. С помощью S мы считали из файла зашифрованный текст} Begin for i:=1 to Length(S) do if (Ord(S[i]) in [66..89]) or (Ord(S[i]) in [98..121]) then S[i]:=Chr(Ord(S[i])-N) else if S[i] = 'A' then S[i]:='Z' else if S[i] = 'a' then S[i]:='z' else if S[i] = 'Z' then S[i]:='A' else if S[i] = 'z' then S[i]:='a'; WriteLn(FileOut, S); S:=''; End; ------------------------------------------------- Вроде все верно, но на выходе наряду с верно распознанными символами получаются неизвестные природе крякозябры, аки буква "а" переходит в символ "|", и т.п. Что не так? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аогоритм расшифровки | Phantom | Общие вопросы Delphi | 7 | 24.09.2009 09:24 |
Сохранение пароля для расшифровки | Lime | Общие вопросы Delphi | 25 | 01.03.2009 19:57 |
Программа для расшифровки штрихкода | Sanek777 | Софт | 5 | 27.10.2008 21:41 |