|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 6
|
|
Архивация групповым кодированием24.12.2011, 16:09. Показов 1474. Ответов 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|