Opened 3 years ago

Closed 3 years ago

#261 closed ожидается проверка (задача сдана)

hw1

Reported by: em.vladislv Owned by: Святослав Власов
Component: HW #1 (BMP) Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 3 years ago by Святослав Власов

Type: ожидается проверкаожидаются исправления

Пока что работает только поворот Лены целиком.
Это 5/20 за корректность

Стиль - 3/10 (за недописанное пока больше поставить не могу)

  1. В save_bmp у тебя происходит чтение из не своей памяти, в том месте где ты пишешь garbage. garbage -- это char размером 1 байт, а читаешь ты из него вплоть до трех байт. И мусорные байты нужно писать нулями, а то наши тесты расстроятся.
  2. Попиксельно читать и писать -- не лучшее решение. Можно делать это целыми строками.
  3. Код освобождения матрицы прям просится в отдельную функцию.
  4. Внутри функций ты всю память проверяешь ассертами, а в main ты вдруг ставишь условие "а вдруг из функции вернулся NULL". А он оттуда никогда не вернется, потому что там ассерты.

Для первоначальной посылки норм, доделывай остальное.

comment:2 Changed 3 years ago by em.vladislv

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

Пытался читать и писать строчками, сделав массив типа uint8_t, но почему-то чб картинки получались. Постараюсь к 3 попытке пофиксить

comment:3 Changed 3 years ago by Святослав Власов

Resolution: задача сдана
Status: assignedclosed

Корректность -- 15/20
Неверно записываются размеры выходных изображений

Стиль -- 7/10
У тебя матрица которая хранится в памяти оказывается разреженной -- ты выделяешь под строку память размера sizeof(uint32_t) * 3 * width), то есть 12 * width, а размер одного пикселя -- это 3 байта, то есть на строку требуется только 3 * width байт, ты выделяешь в 4 раза больше. И обращаешься к пикселям как к четырехбайтовым числам, поэтом у тебя в первых трех байтах лежит пиксель, а потом пустой байт.
Именно поэтому попытки писать и читать строками целиком у тебя оканчиваются неудачей.

Note: See TracTickets for help on using tickets.