1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Нике |
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: 0 |
Пожалуйста, пожалуйста, помогите с решением...очень нужно, очень срочно..
Дан следующий алфавит и соответствующие буквам коды: пробел=000, а1=100, а2=1100, а3=10100, а4=11100, а5=100100, а6=110100, а7=101100,а8=111100. Нужно написать программу и блок-схему, декодирующую сообщение, т.е. мы вводим код - программа выдает буквы. 00 - признак конца символа 00000 - пробел. Вообще, нужно декодировать сообщение со следующими кодами, но мне кажется, это несколько усложняет задачу?? пробел=000, а1=100, а2=1000, а3=1100, а4=10000, а5=10100, а6=11000, а7=11100, а8=101000. Так сообщение обладает меньшей избыточностью, но как в таком случае распознавать пробелы непонятно... Блин, да мне хоть в каком виде.... Сообщение отредактировано: Нике - |
![]() ![]() |
| Lapp |
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Задача, конечно, странная.. Хотел бы я посмотреть на того человека, который решил бы на деле применять такое кодирование
Ладно, ближе к делу. Алгоритм примерно такой (грубо) : - просматриваю код слева направо - любой символ начинается с 1 - окончание символа по двум нулям отследить нельзя, так как некоторые символы оканчиваются на 3 и даже на 4 нуля. - хорошо, правда, то, что символы различимы. Если бы восьмерка кодировалась 100000 (что, в общем-то, логично), комбинация а1 с пробелом была бы от нее неотличима. - идем слева направа, пока не наткнемся на по крайней мере 2 нуля и с этого момента.. - .. начинаем считать вводимые нули до новой единицы. - когда встречена единица или конец файла, отбрасываем накопленные нули тройками, считая пробелы. - когда нулей остается не больше четырех, пытаемся распознать символ. - если это удается, записываем в выходной файл символ и все посчитанные пробелы за ним. - если нет - выводим сообщение об ошибке в исходном коде. Усе, шеф, дело сделано, шеф.. © Твои соображения, Нике?.. И ваши, уважаемые коллеги.. Код выложу в следующем мессадже. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Нике Декодирование сообщения 15.11.2006 19:59
lapp Не совсем ясно. Коды разной длины.. ?
Ты ничего н… 16.11.2006 18:31
lapp
Извиняюсь, кажется разобрался..
Да, второе услов… 17.11.2006 12:05
Нике Интерес? Конечно есть!! Мне в понедельник … 17.11.2006 16:17
Malice Я не понял суть проблемы :( Учитывая, что у тебя к… 17.11.2006 16:57
klem4 Вот это кто-нибудь объяснить может:
:blink:… 17.11.2006 18:38
lapp
Выходит a5 = a1a1 ? Тогда различить это невозможн… 17.11.2006 19:11
volvo klem4, a5 = 10100, а не 100100...
Все ясно, я … 17.11.2006 18:53
klem4 Уфффф я вот тут тоже насочинял))))))))
uses crt;
… 17.11.2006 20:44
Нике lapp, klem4, спасибо вам огромное!! :)
… 18.11.2006 21:34
lapp А блок-схема получится огромная..
Согласен, немал… 19.11.2006 18:06
Нике Разобралась в программе, написанной klem4. :)
Пр… 19.11.2006 22:33
klem4
Это я для удобства сделал чтобы не придумывать т… 19.11.2006 23:04
FreeMan Чтото типа этого должно сработать. провереть не мо… 20.11.2006 14:29
lapp
Чтото типа этого должно сработать. провереть не м… 20.11.2006 15:54
klem4 FreeMan, не правильно твоя процедура работает ... … 20.11.2006 16:03![]() ![]() |
|
Текстовая версия | 5.11.2025 14:23 |