Помощь - Поиск - Пользователи - Календарь
Полная версия: задача по криптографии
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
M31
Мне нужно сделать следующие: я загружаю текс в программу. Затем присваиваю каждому символу свой номер из АСКИ, затем ввожу ключ слово. Затем присваиваю каждому символу ключ слова тоже свой номер. Затем сдвигаю номер символа из текста на номер символа из ключ слова (следующим образом пусть ключ слово имеет 2 символа тогда сдвиг будет 1-го символ из текста на 1-ой символ из ключ слова , 2 на 2 , 3 на 1 и т. д.), затем сохраняю результат в файле.
У меня следующий вопрос. Как присвоит каждому символу свой номер, как сделать сдвиг. Если можно, то дайте код этих действий.

пример. пусть текст будет следующим абвгд, а ключ да. допустим у букв следующие номера, а=1,б=2,в=3,г=4,д=5.
Получаем следующий сдвиг: 1+5,2+1,3+5,4+1,5+5. переводим обратно и выходит1+5=6 это буква е, 3-в,8-з,5-д,10-к. в результате получили слово евздк.

Заранее благодарен.
volvo
Цитата(M31 @ 1.05.05 22:07)
Если можно, то дайте код этих действий.

Можно:
var
word: string; { слово, которое будем шифровать }
key: string; { слово - ключ }
i: byte;
begin
word := 'abcde'; key := 'da';
for i := 1 to length(word) do begin
word[i] := chr( ord(word[i]) + ord(key[succ(i mod length(key))]) - pred(ord('a')) );
end;
writeln(word);
end.

:yes:
M31
спасибо. :p4:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.