Декодирование сообщения |
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 нуля и с этого момента.. - .. начинаем считать вводимые нули до новой единицы. - когда встречена единица или конец файла, отбрасываем накопленные нули тройками, считая пробелы. - когда нулей остается не больше четырех, пытаемся распознать символ. - если это удается, записываем в выходной файл символ и все посчитанные пробелы за ним. - если нет - выводим сообщение об ошибке в исходном коде. Усе, шеф, дело сделано, шеф.. © Твои соображения, Нике?.. И ваши, уважаемые коллеги.. Код выложу в следующем мессадже. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 28.04.2024 16:02 |