Opened 3 years ago
Closed 3 years ago
#229 closed ожидается проверка (задача сдана)
HW #1 (BMP), garaev.timur, hw_01
Reported by: | Garaev Timur | Owned by: | Антон Филатов |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 3.0 |
Keywords: | Cc: |
Description
Было тяжко сходу закодить эту прелесть, честно.
Особенно в конце, когда я получил 1,6кк потерянных байт на картинке 300x300 :)
Вообще, там еще ваогринд поругивается, но уже капельку и совсем не на память. Я так и не смог разобраться, на что именно.
Change History (5)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Заметил, что вы не оттуда поворот считаете. Вы, видимо, меня об этом на паре спрашивали, но судя по всему либо я вас не понял, либо вы меня
Тест
crop-rotate lena_512.bmp out.file 100 50 128 128
Должен отступить от левой верхней точки на 100 вправо и на 50 вниз, а после этого взять квадрат со стороной 128, где точка (100, 50) - левый верхний угол квадрата. И именно его надо поворачивать. А вы отступаете на 100,50 от нижнего угла. Так что все тесты, получается, падают.
Теперь сегфолт на тесте
crop-rotate lena_512.bmp out.file 50 100 64 32 (на самом деле не только на нём, ещё много на каких тестах) - повращайте лену с разными параметрами, проверьте
по-прежнему остаётся замечание
Кстати, заметил, что вы совсем не трогаете image size и file size в заголовке bmp - не надо так.
Стиль:
- по-прежнему следует исправить чересчур большое количество malloc-ов при инициализации массива пикселей - можно это сделать за два маллока
- кроме того можно оптимизировать чтение, если fread делать не по одному пикселю, а читать целиком строку
- проверьте, у вас кое-где сломались отступы - где-то они сделаны на табах, а где-то на пробелах
Корректность: 6/20
Стиль: 7/10
comment:4 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
Кажется, я пофиксил padding.
Там было padding = '0' вместо padding = '\0'
comment:5 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Нет, к сожалению padding вы не пофиксили. Но всё, что без паддинга - работет
Корректность: 8/20
Стиль: 10/10
Так, ну могу вам сказать, что целиком лену он поворачивает без ошибок :) один пройденный тест у вас есть.
В остальном действительно частенько ругается валгринд. Любопытно ещё, что на тесте
crop-rotate lena_512.bmp out 100 50 128 128
прям совсем падает с сегфолтом (или не с сегфолтом, но экзит статус не 0)
Кстати, заметил, что вы совсем не трогаете image size и file size в заголовке bmp - не надо так.
Стиль:
В общем, вы на правильном пути. К сожалению конкретно что именно вам поправить надо сказать не могу.
Корректность: 5/20
Стиль: 6/10