Opened 3 years ago
Closed 3 years ago
#224 closed ожидается проверка (задача сдана)
HW_01_Kravchenko
Reported by: | kravchenko.egor | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 3.0 |
Keywords: | Cc: |
Description
Attachments (1)
Change History (8)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 follow-up: 5 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
1.Исправил
2.Исправил.
3.Исправил. Правда в формуле легко ошибиться.
4.Исправил.
5.Исправил.
6.Сделал просто struct. С тройным указателем не запутаться очень сложно.
7.В main всегда проверяю. Не совсем assert'ом -- хочу чтобы в консоли было видно, из-за чего именно упало.
8.Исправил. Раньше так было сделано, чтобы со строчкой что-нибудь сделать можно было, не открывая файл (например ифом проверить во время отладки).
- Они сами исчезли почти везде после исправления предыдущих пунктов.
- Исправил.
- В вики сначала всё время пишут "в формате RGB", и только далеко внизу, что в порядке BGR.
- Исправил. В условии про это очень странно написано. Когда я первый раз прочёл, то мне показалось более вероятным, что они на разных строчках.
Changed 3 years ago by
Attachment: | Снимок экрана 2020-12-18 033620.png added |
---|
comment:3 Changed 3 years ago by
Интересный факт: в моей почте почему-то нумерация списка некорректно отображается. Скриншот в Attachments.
comment:4 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Корректность совсем поломалась :(
Даже базовый тест -- лена с параметрами 0 0 512 512, выводит черный квадрат.
- Теперь чтение трэша в загрузке bmp пишет не в свою память -- это UB.
- Забыл убрать дебажный вывод из stego.c
- В main у тебя при недостатке аргументов по прежнему UB. Ты думаешь, если ты проверишь количество аргументов после того как прочитаешь из них, тебя это убережет? :)
buffer += (((bmp->image[x][y].bytes[color_to_int(color)])) % 2) << num;
-- очень хочется это как-нибудь разбить и сделать более читаемым.
comment:5 Changed 3 years ago by
Replying to kravchenko.egor:
Интересный факт: в моей почте почему-то нумерация списка некорректно отображается. Скриншот в Attachments.
Это происходит потому, что тебе на почту шлется сырой маркдаун, он так выглядит
comment:6 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
Корректность поломалась из-за отсутствия одной буквы n во время очередной итерации исправления кода... Сейчас и lena и small-one со случайными числами при вводе работают, но у меня нет никаких способов проверить, что все поля в header и map-info заполнены правильно (кроме как глазами проверить на правдоподобность и соответствее моей формуле). Пиксели же поворачиваются правильно.
- Исправил.
- Убрал.
- Упс. Теперь проверка до стоит.
- Заменил четырьмя строчками. Стало ли более читаемым -- не уверен.
comment:7 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Корректность -- 17/20
Неправильно считается итоговый размер изображения
Стиль -- 10/10
Бонус -- 10/10
Корректность -- 6/20
Из багов, которые вижу сейчас -- неправильно вычисляешь размер файла, похоже что не учитываешь выравнивание строк
Стиль -- 6/10
my_assign
? Пользуйся стандартнойmemcpy
.malloc
, можно его к типу указателя не приводитьunion
, только зачем он тебе здесь нужен, если ты его не используешь?assert
ом, а не валиться в UB, если вдруг что не так.(bmp->image[x][y].bytes[color_to_int(color)])
-- они плохочитаемый и легкобагающиеся. Можно завести функцииget/set_pixel
или пользоваться чуть большим количеством временных переменных.Бонус -- 7/10