Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.228.40] |
|
Сообщ.
#1
,
|
|
|
Как декодировать текстовое сообщение? Типа ...---...
|
Сообщ.
#2
,
|
|
|
так и декодировать.
ты саму азбуку можешь привести. Если она является префиксным кодом (то есть никакой код не является началом другого кода) то строишь дерево, в каждом узле :направо след символ "-" налево - "." в самых нижних узлах лежат сами символы, соответствующие кодам(буквы) то идешь себе потихонечку от начала сообщения смотришь на символ, в соответствии с ним перемещаешься по дереву. как дошел до листа (до узла дерева, у которого нет потомков) так сразу берешь из него букву, выводишь, и начинаешь снова идти от корня дерева. Если же азбука морзе - не префиксный код, то еще легче. Должны быть определены границы кодовых сообщений для каждой буквы. берешь базу "--." - а "..." - S "---" - О смотришь на кодовое сообщение, ищеш его в базе, выводишь . смотрешь следующее. Если немного непонятно,кинь саму азбуку, я тебе пример наваяю:))) берешь одну сообщен |
Сообщ.
#3
,
|
|
|
Кстати, очень напоминает кодирование по Хаффману ..
|
Сообщ.
#4
,
|
|
|
Кстати, я по аналогии с ним и написал:))
вот еще бы саму азбуку раздобыть, чтобы наверняка:)) |
Сообщ.
#5
,
|
|
|
Теперь я понял, почему дерево не строилось - оказалось,что нужны разделители
А так - тривиальная программа... Вот кодировка Морзе. Не вся. , -.-.-.- ; -.-.-. : ---... ! --..-- ? ..--.. . ...... ' .-..-. () -.--.- 0 ----- 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... 6 -.... 7 --... 8 ---.. 9 ----. А .- Б -... В .-- Г --. Д -.. Е . Ж ...- З --.. И ---. И .. Й .--- К -.- Л .-.. М -- Н -. О --- П .--. Р .-. С ... Т - У ..- Ф ..-. Х .... Ц -.-. Ш ---- Щ --.- Ы --.- Ь -..- Ю ..-- Я .-.- |
Сообщ.
#6
,
|
|
|
Здесь по любому должен быть разделитель между буквами, пробел, например....
2 не Морзе: () -.--.- - это как понимать? Т.е. хоть "(", хоть ")"? |
Сообщ.
#7
,
|
|
|
И еще разделитель между словами, три пробела например
|