IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите написать Шифратор. Пожалуйста!
-Андрей-
сообщение 13.04.2008 19:34
Сообщение #1


Гость






Русский текс латинскими буквами. Задано соответствие, позволяющее записать русский текст латинскими буквами для передачи по сети связи: а-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
сообщение 13.04.2008 20:07
Сообщение #2


Гость






Вот ДЕшифровка:

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.


Шифрование делается совсем просто, попробуй его реализовать сам...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 11:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"