Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите написать Шифратор. Пожалуйста!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Андрей-
Русский текс латинскими буквами. Задано соответствие, позволяющее записать русский текст латинскими буквами для передачи по сети связи: а-a, б-b, в-w, г-g, д-d, е-е, ё-е, ж-<zh>, з-z, и-i, й-j, к-k, л-l, м-m, н-n, о-о, п-р, р-r, с-s, т-t, у-u, ф-f, х-h, ц-с, ч-<ch>, ш-<sh>, щ-<shch>, ъ-", ы-у, ь-', э-<'e>, ю-<yu>, я-<ya>. Написать программу шифрующую тексты в соответствии с этим кодом.
Расшифровать и ответить на вопрос: <ch>to bol'<sh>e p<ya>t' procentow ot semides<ya>ti dollarow ili sem'des<ya>t procentow ot p<ya>ti dollarow?
volvo
Вот ДЕшифровка:

const
letters = 33;
alpha: array[1 .. 2, 1 .. letters] of string[6] = (
('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и',
'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т',
'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь',
'э', 'ю', 'я'),
('a', 'b', 'w', 'g', 'd', 'e', 'e', '<zh>', 'z', 'i',
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't',
'u', 'f', 'h', 'c', '<ch>', '<sh>', '<shch>', '"', 'y', '''',
'<''e>', '<yu>', '<ya>')
);

var
s, s_rus: string;
i: integer;
found: boolean;
sub: string;

begin
s := '<ch>to bol''<sh>e p<ya>t'' procentow ot semides<ya>ti'+
' dollarow ili sem''des<ya>t procentow ot p<ya>ti dollarow?';
while s <> '' do begin
found := false;
for i := 1 to letters do begin
sub := copy(s, 1, length(alpha[2, i]));
if sub = alpha[2, i] then begin
s_rus := s_rus + alpha[1, i]; delete(s, 1, length(alpha[2, i]));
found := true; break;
end
end;

if not found then begin
s_rus := s_rus + s[1]; delete(s, 1, 1);
end;
end;

writeln(s_rus);

end.


Шифрование делается совсем просто, попробуй его реализовать сам...
Гость
Спасибо большое!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.