|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.12.2006, 12:14 | #1 |
Новичок
Джуниор
Регистрация: 08.12.2006
Сообщений: 1
|
Pascal.Помогите решить задачу на шифрование.
Задача такого типа:
Дана строка символов (предложение). Зашифровать в ней все латинские символы с помощью циклической подстановки: A=>B=>C…Y=>Z=>A. Помогите пожалуйста. |
08.12.2006, 16:10 | #2 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
increment=1;
for i:=1 to length(s) do s[i]:=chr((ord(s[i])+increment) mod 256);
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
08.12.2006, 16:32 | #3 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
2 Plague: respect
Берегите друг друга!
|
18.12.2006, 14:16 | #4 |
Регистрация: 18.12.2006
Сообщений: 6
|
У меня в принципе такое же задание, только мне необходимо шифровать не латинские символы, а написанные на кириллице. Помогите, буду премного благодарен.
|
19.12.2006, 16:32 | #5 |
Регистрация: 18.12.2006
Сообщений: 6
|
Решил задачу, о которой писал выше сам, но у моего решения существенная проблема не могу задать с каким cдвигом производить шифрование. Его можно менять в теле программы, но по ходу выполнения когда вводишь ключ шифрования он автоматически становится нюлем, у кого есть соображения??
Листинг моей программы, может кому пригодится: program lw7; uses crt; const n=255; var s:string; i,b:byte; begin clrscr; writeln('Введите предложение:'); readln(s); for i:=1 to n do begin b:=ord(s[i]); if ((b>=160) and (b<175)) or ((b>=224) and (b<233) or ((b>=128) and (b<159)) then b:=b+1; else begin if b=175 then b:=224; if b=239 then b:=160; if b=159 then b:=128; end; s[i]:=chr(b); end; writeln('Зашифрованное предложение:'); writlen(s); readln; end. В общес вся проблема-то в том, что, если писать b:=b+1 или +1,+2, и так далее, то все работает нормально, но если брать вместо +1, например +k, и вводить его раньше основного кода шифрования, то к автоматически становится равен 0. И что делать??? |
19.12.2006, 18:57 | #6 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Попробуй инициализировать переменные в самом начале кода (даже приравнять к нулю). Может быть поможет...
Познавая других, мы познаем себя.
С'est la vie... |
19.12.2006, 20:13 | #7 |
Регистрация: 18.12.2006
Сообщений: 6
|
Спасибо, действительно помогло, одной проблемой меньше.
Нашлась еще одна проблема. Не могу убрать псевдографику. Так же какая-то странно с буквой п. У кого есть идеи?? Попробуйте мой код, проверьте. Последний раз редактировалось KoHgpaT; 20.12.2006 в 09:00. |
02.06.2008, 15:46 | #8 |
Регистрация: 04.05.2008
Сообщений: 5
|
Помогите плиз! Задача тоже по шифрованию!
Разработать модуль шифрования и дешифрования текста метода транспозиции. Напишите программу которая позволила бы шифровать и расшифровывать заданный текст с сохранением результата в файле. Транспозиция по принципу "Частокола" сост в том, что выбираются (пример для n=3) 1,4,7 и тд символы и располаг-ся единой группой, за ними помещ-ся 2,5,8 и тд затем 3,6,9 и тд
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите решить задачу на Turbo Pascal | tree | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 16.05.2010 23:27 |
Помогите решить задачу(Pascal) | Дима82 | Помощь студентам | 20 | 23.05.2008 21:58 |
Задача в pascal?! помогите пожалуйста решить задачу. | Absent | Помощь студентам | 6 | 09.04.2008 23:41 |
Помогите решить задачу на тему - Файлы. Pascal. | Impulsive | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 23.02.2008 11:55 |
Помогите решить задачу на pascal | Ilya M. | Помощь студентам | 4 | 28.10.2007 20:51 |