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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2006, 12:14   #1
newuser
Новичок
Джуниор
 
Регистрация: 08.12.2006
Сообщений: 1
По умолчанию Pascal.Помогите решить задачу на шифрование.

Задача такого типа:
Дана строка символов (предложение). Зашифровать в ней все латинские символы с помощью циклической подстановки: A=>B=>C…Y=>Z=>A.

Помогите пожалуйста.
newuser вне форума Ответить с цитированием
Старый 08.12.2006, 16:10   #2
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

increment=1;
for i:=1 to length(s) do
s[i]:=chr((ord(s[i])+increment) mod 256);
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 08.12.2006, 16:32   #3
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

2 Plague: respect
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 18.12.2006, 14:16   #4
KoHgpaT
 
Аватар для KoHgpaT
 
Регистрация: 18.12.2006
Сообщений: 6
По умолчанию

У меня в принципе такое же задание, только мне необходимо шифровать не латинские символы, а написанные на кириллице. Помогите, буду премного благодарен.
KoHgpaT вне форума Ответить с цитированием
Старый 19.12.2006, 16:32   #5
KoHgpaT
 
Аватар для KoHgpaT
 
Регистрация: 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. И что делать???
KoHgpaT вне форума Ответить с цитированием
Старый 19.12.2006, 18:57   #6
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Попробуй инициализировать переменные в самом начале кода (даже приравнять к нулю). Может быть поможет...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 19.12.2006, 20:13   #7
KoHgpaT
 
Аватар для KoHgpaT
 
Регистрация: 18.12.2006
Сообщений: 6
По умолчанию

Спасибо, действительно помогло, одной проблемой меньше.
Нашлась еще одна проблема. Не могу убрать псевдографику.
Так же какая-то странно с буквой п. У кого есть идеи?? Попробуйте мой код, проверьте.

Последний раз редактировалось KoHgpaT; 20.12.2006 в 09:00.
KoHgpaT вне форума Ответить с цитированием
Старый 02.06.2008, 15:46   #8
Olenka555
 
Регистрация: 04.05.2008
Сообщений: 5
Восклицание Помогите плиз! Задача тоже по шифрованию!

Разработать модуль шифрования и дешифрования текста метода транспозиции. Напишите программу которая позволила бы шифровать и расшифровывать заданный текст с сохранением результата в файле. Транспозиция по принципу "Частокола" сост в том, что выбираются (пример для n=3) 1,4,7 и тд символы и располаг-ся единой группой, за ними помещ-ся 2,5,8 и тд затем 3,6,9 и тд
Olenka555 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу на 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