Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RLE(Run-length encoding), реализация 
:(
    Опции темы
Jkone
Дата 19.2.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



в общем,необходимо реализовать самый простой алгоритм сжатия без потерь,теорию я хорошо понимаю,но написать прогу не могу сам,так как  опыта писать программы нет,пару раз писал простые программы на паскале и делфи и всё.нужна помощь,я не хочу чтобы за меня кто-нибудь писал прогу,прошу помощи с чего начать?

Добавлено @ 14:17
может дадите ссылку с исходником,чтобы было проще разобраться?а может кто уже писал?

Добавлено @ 14:21
причём кодировать нужно просто файл с цепочкой символов,типа ффкккккеееевввввв ну и естественно декодировать,в общем без всяких наворотов,получается 2ф4к4е6в  smile 

Это сообщение отредактировал(а) Jkone - 19.2.2008, 14:22
PM MAIL   Вверх
Rennigth
Дата 19.2.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Цитата(Jkone @  19.2.2008,  14:07 Найти цитируемый пост)
алгоритм сжатия без потерь

??? без потерь чего? 
ZLib может просто будешь использовать?


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Alexeis
Дата 19.2.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Rennigth, думаю просто задача академическая.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Jkone
Дата 20.2.2008, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.2.2008

Репутация: нет
Всего: нет



нет Zlib использовать нельзя,вообще как делать не могу понять,тут нужен массив?или просто нужно через строку писать,в смысле сравнивать символы,далее считать кол-во одинаковых символов и присвоить им какой-то счётчик?
но тогда вознивкает вопрос а как расшифровать,если у нас например строка числовая последовательность 222244444?
то получается сжатая 4254,но а как тогда декодировать это обратно?

зы называется так алгоритм без потерь
Самый простой и очевидный метод сжатия – RLE (Run Length Encoding) – кодирование повторяющихся последовательностей симво-лов. Суть его в замене последовательности одинаковых символов во входном потоке флагом (признаком) кодированных данных, символом и количеством его повторений в выходном потоке.

в общем помогите разобраться, в последующем хочу попробывать все простые алгоритмы реализовать(Хаффман,LZW и т.к.)
PM MAIL   Вверх
ksili
Дата 20.2.2008, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



алгоритм без потерь информации

Чтобы правильно разжать 4254 в 222244444, надо заранее условиться, что всегда идёт один символ исх. текста, а потом его количество (ну или наборот).
Чтобы из-за длинных цепочек неповторяющихся символов не разрастался сжатый файл (йцукен -> й1ц1у1к1е1н1), надо их сохранять одним блоком и выделить для этого отдкльный флаг (чтобы отличить его от сжатых данных) ну и плюс хранить его длину.


Цитата(Jkone @  20.2.2008,  09:03 Найти цитируемый пост)
тут нужен массив?или просто нужно через строку писать

Как хочешь, можно в памяти всё делать, можно из файла понемногу читать, и сразу в файл архива писать.

Строка по большому счёту - это и есть массив, массив символов

Это сообщение отредактировал(а) ksili - 20.2.2008, 07:33


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.