Opened 4 years ago
Closed 4 years ago
#458 closed ожидается проверка (задача сдана)
HW #1
Reported by: | Карнаухов Кирилл | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (6)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Карнаухов Кирилл |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Owner: | changed from Карнаухов Кирилл to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:3 Changed 4 years ago by
С заголовком файла что-то все еще не так. 34й байт все еще поломан и второй байт тоже поломан. Почините, и будет работать.
Три уровня вложенности указателей и внутри еще указатель на указатель? Вы уверены?
Зачем в функции crop_rotate и insert/extract_message передавать указатель на аргументы, если логичнее передать сами нужные аргументы?
С бонусом что-то не сходится с тестовыми данными. Возможно, файл битый, возможно, у вас не правильно. Будет ясно чуть позже.
В любом случае, вы копируете картинку в память в массив массивов, а не в полноценный двумерный массив. Зачем в таком случает продолжать тянуть за собой перевернутую нумерацию?
16 + 4 + ?
comment:4 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Карнаухов Кирилл |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Судя по расхождению с эталоном, скорее всего перепутаны порядок строк или столбцов.
8
comment:5 Changed 4 years ago by
Owner: | changed from Карнаухов Кирилл to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 2.0 → 3.0 |
Я не понял эту часть Вашего комментария: "вы копируете картинку в память в массив массивов, а не в полноценный двумерный массив. Зачем в таком случает продолжать тянуть за собой перевернутую нумерацию?" :(
comment:6 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
crop(bmps[0], bmps[1], x, bmps[0]->height - y - height, width, height);
Судя по нетривиальному y, вы постоянно инвертируете нумерацию строк (в бонусе тоже). Зачем? Вы храните строки не подряд в памяти -> можете задать любую удобную нумерацию, инвертировав только при чтении и при записи.
Зачем создавать массив картинок, если они никак друг с другом не связаны, кроме как являются временными переменными?
В бонусе не работает следующее условие из задания:
"Если ключ записывает больше бит, чем нужно сообщению, последние строчки игнорируются."
20 + 7 + 7.5
Проверьте 34й байт.
Не делайте битовые сдвиги в знаковых int ( (int32)x << shift ). Битовые операции осмысленно и безопасно делать только в беззнаковых числах.
Проверить число аргументов нужно до того как начнете их использовать
Зачем в заголовочный файл вынесены константы, описывающие внутренние детали реализации?