|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.06.2012, 20:46 | #1 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
Алгоритм сжатия LZW
Помогите разобраться!
Мы должны в "таблице строк" каждому символу начального алфавита и каждой новой строке, при добавлении в таблицу, поставить в соответствие код, который в последствии мы записываем в файл. Алгоритм понятен, программа написана, но она у меня работает так, что коды - int'овские числа, которые я записываю в файл через пробел. Но ведь нормальный алгоритм должен работать с битовыми кодами? Не пойму, как это организовать. Не могли бы вы мне подсказать, как должен быть устроен "правильный" lzw? |
19.06.2012, 21:06 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Не знаю, что именно Вы делаете, но подозреваю, что пишете в файл типа text.
Если у Вас целые числа, то и пишите их а file of integer. |
19.06.2012, 21:11 | #3 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
А не могли бы вы мне подсказать, что значит file of integer? пожалуйста
|
19.06.2012, 21:21 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Это бинарный файл, в котором хранятся целые числа во внутреннем формате.
Если Вы пишете на Паскале, то так и описываете файловую переменную. Если пишете через WinAPI, то просто передаете процедуре записи указатель на массив целых. |
19.06.2012, 21:30 | #5 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
|
19.06.2012, 21:38 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Да, и код неплохо бы увидеть, который в файл пишет.
I'm learning to live...
|
19.06.2012, 21:44 | #7 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
Код:
Последний раз редактировалось Stilet; 19.06.2012 в 22:11. |
19.06.2012, 22:10 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
И сам поток открыть лучше как ios_base::binary
I'm learning to live...
|
|
19.06.2012, 22:18 | #9 |
Пользователь
Регистрация: 29.04.2009
Сообщений: 29
|
Но out.write() не хочет печатать int, просит char* ? В этом то и проблема, не пойму, как в бинарный файл записывать int... Или может нужно коды делать другого типа? У меня вообще правильный lzw или нет? :D
|
19.06.2012, 22:24 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
char это представление байта в Си. В данном случае он просит указатель на массив байт - char*
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм сжатия jpeg | VARCHUN | Помощь студентам | 0 | 08.05.2012 17:01 |
Алгоритм сжатия двумерного массива! | jmeka | Помощь студентам | 2 | 26.05.2011 13:13 |
Алгоритм сжатия Хаффмана | onryo | Общие вопросы Delphi | 0 | 10.04.2011 16:08 |
алгоритм сжатия информации LZW на Java | sagnio | Общие вопросы по Java, Java SE, Kotlin | 1 | 09.12.2009 21:11 |
Алгоритм сжатия+ zlib | Воин-Леший | Общие вопросы Delphi | 1 | 09.12.2007 15:05 |