Opened 3 years ago

Closed 3 years ago

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

HW #1 (BMP) milshin.maksim

Reported by: milshin.maksim Owned by: Дмитрий Лапшин (lapshin)
Component: HW #1 (BMP) Version: 3.0
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 3 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to milshin.maksim
Type: ожидается проверкаожидаются исправления

Корректность:

  1. Неправильные заголовки изображения про размеры пишешь.
  2. Valgrind видит утечки.

9/20.

Стиль:

  1. Зачем ты положил в пиксель зарезервированное поле? Оно лишь читать мешает.
  2. Ой прыжки по магическим сдвигам. Может всё же структуры? Тем более что структуру ковыряет bmp.c, а буфер с размером из main.c.
  3. main: return 0;.
  4. Зачем max в заголовке?

6/10.

comment:2 Changed 3 years ago by milshin.maksim

Owner: changed from milshin.maksim to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка
Version: 1.02.0
  • исправил заголовки про размеры файла и изображения
  • добавил функцию, высвобождающую память
  • убрал резервное поле из пикселя
  • добавил return 0
  • теперь функция max нужна в main'е, поэтому сейчас она есть и в заголовояном файле

comment:3 Changed 3 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to milshin.maksim
Type: ожидается проверкаожидаются исправления

Корректность:

  1. Выравниваешь не нулями, а пёс пойми чем.

17/20.

Стиль:

  1. Прыжки по магическим сдвигам. Выглядит очень страшно.

8/10.

comment:4 Changed 3 years ago by milshin.maksim

Owner: changed from milshin.maksim to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка
Version: 2.03.0
  • сделал выравнивание нулями
  • к сожалению так и не понял, как перевернуть квадрат без магических сдвигов, наверняка, придётся переделывать большую часть программы, что может плохо отразиться на её корректности, поэтому магические сдвиги остались без изменений

comment:5 Changed 3 years ago by Дмитрий Лапшин (lapshin)

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

Корректность: 20.

Стиль: структуры использовать, Люк. Что такое структура, если не сдвиг от компилятора (вспоминай offsetof):

struct foo {
  int x;
  long y;
} *p;

p->y = 3;
// <==>
*(int*)((char*)p)[offsetof(struct foo, y)] = 3;

Делать операции тоже можно целыми пикселями или даже строчками.

Note: See TracTickets for help on using tickets.