|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
|
Архивация групповым кодированием24.12.2011, 16:09. Показов 1495. Ответов 8
Метки нет (Все метки)
Здравствуйте форумчане.
Сразу говорю, я не прошу за меня писать программу. На первом курсе когда был-наступил на эти грабли. Сейчас на 3м курсе, проходим С++. Зачетную задачу выдали: Разработать программу архивации несжатых графических файлов, использующую алгоритм группового кодирования. Суть алгоритма: Представим графический файл в виде последовательности байтов. В этой последовательности встречаются цепочки повторяющихся байтов. Если цепочка содержит два и более одинаковых байтов, то она заменяется двумя байтами, первый из которых является счетчиком повторений, а второй содержит повторяемое значение. Признаком счетчика служат еденица в его старшем бите, оставшиеся 7 младших битов содержат число повторений. Если же во фрагменте входной последовательности нет цепочек повторяющихся байтов, то в начале этого фрагмента записывается специальный байт, старший бит которого содержит 0, а младшие 7 -кол-во последующих байтов записываемых без изменения в выходной файл. Программа должна обеспечивать преобразование исходного графического файла в архивный файл, и восстановление исходного файла из архива. Так вот теперь к делу. Был выбор из двух программ, но я посчитал, что научиться писать архиваторы-важно, потому и не прошу за меня ничего писать. Просто помогите ответами на вопросы. 1й вопрос. Мы на лекциях ничего по граф. файлам не проходили. Во-первых данную программу лучше писать на Билдере(ни разу не пользовался) либо на Visual, на котором мы работаем? В-вторых Как в программу ввести файл BMP и разложить его по байтам, чтобы дальше уже читать последовательности?
0
|
|
| 24.12.2011, 16:09 | |
|
Ответы с готовыми решениями:
8
Теория кодирования: какая разница между кодированием и L-кодированием? Проблема с кодированием Трабла с кодированием строки |
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 24.12.2011, 16:56 | |
|
1. Лучше на Visual Studio, раз уж на нём и работаете. Билдер для этой задачи никаких преимуществ не даст.
2. Читать как обычный двоичный файл. В начале файла идут заголовки BITMAPFILEHEADER и BITMAPINFOHEADER. За ними идут пиксели. Более подробно - в том же MSDN.
1
|
|
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
|
| 25.12.2011, 15:15 [ТС] | |
|
Что то я вообще попутался с алгоритмом >_<
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 25.12.2011, 17:47 | |
|
В чём затруднения?
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
|
| 27.12.2011, 11:30 [ТС] | |
|
HELP!
Сижу в универе, и понял что арихивирует он криво, помогите с кодом. Где накосячил Т_Т
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
||||||
| 27.12.2011, 13:20 [ТС] | ||||||
|
Препод только что сказал, что это из-за того, что надо использовать палитру из 256цветов, а не как я...
Добавлено через 9 минут О_о Я понял. 256цветовый на самом деле конвертируется, а 24-наоборот. Вот только почему не понятно... Ладно, проехали. Вопрос теперь в слудующем: 1)
0хС0-это что и для чего используется? и во-вторых, почему у меня в программе отображает неверное кол-во байтов? Близко, но не верно, в упор ошибку не вижу... Добавлено через 37 минут Так порылся в библиотеке, пришел к выводу, что 0хС0 это конечный бит для графического фалйла. Правильный вывод? тогда при чем тут 0х00? PS:Заранее извиняюсь за флудотему Добавлено через 46 минут Вывод похоже ошибочный... Господи, вот как знал, что нельзя из чужих программ копировать >_<
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 27.12.2011, 13:28 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
||
| 27.12.2011, 15:59 [ТС] | ||
|
Тему перенесли из вижула... Почитай пожалуйста дальше, может сможешь помочь? Добавлено через 2 часа 26 минут Всем спасибо-сдал. ТЕму можно закрыть.
0
|
||
|
64 / 19 / 2
Регистрация: 12.06.2011
Сообщений: 92
|
||
| 27.12.2011, 16:37 | ||
но решением-то поделиться не хочешь????
0
|
||
| 27.12.2011, 16:37 | |
|
Помогаю со студенческими работами здесь
9
Проблема с кодированием/декодированием текста СМА Bosch WAS24443OE/14, Проблема с кодированием Генерация html ответа с gzip кодированием Основы работы с кодированием и декодированием информации и с Windows Forms
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|