Opened 3 years ago

Closed 3 years ago

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

HW #1

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

Description

Валгриндом проверил, вроде не ругается
Бонус сделал

Change History (5)

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

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

Корректность -- 5/20
С поворотом изображения целиком программа справляется, а вот когда говоришь ей вырезать-повернуть какой-то кусок -- вырезается не то.
Прочитай внимательно статью про BMP на вики, там написано в каком порядке строки записаны в файле, кажется у тебя баг в этом.

Стиль -- 5/10

  1. Лучше хранить пиксели изображения и его размер в единой структуре, чем таскать их по отдельности, так сложнее будет ошибиться и код станет понятнее.
  2. Структура пикселя ведь у тебя тоже читается/пишется в файл, но выравнивание для неё ты не отключил. У тебя это скорее всего не стреляет, но потенциально компилятор может захотеть выравнеть в ней поля. Любая структура, которую ты читаешь/пишешь побайтово в файл/сокет или куда-то еще, нуждается в отключенном выравнивании.
  3. Выделять и освобождать память на куче для буфера под трэш -- это трэш это малость оверхед. Ты знаешь что у тебя паддинг не будет больше 4 байт, можно ведь сделать этот буфер на стеке.
  4. В stego.h было было неплохо дать аргументам говорящие имена
  5. Ты решил поиграть в компилятор и развернуть цикл руками? :) Не волнуйся, компилятор сделает это за тебя. Пиши нормальным циклом.
        fscanf(key_file, "%d %d %c\n%d %d %c\n%d %d %c\n%d %d %c\n%d %d %c\n",
               &coordx[0], &coordy[0], &channels[0], &coordx[1], &coordy[1],
               &channels[1], &coordx[2], &coordy[2], &channels[2], &coordx[3],
               &coordy[3], &channels[3], &coordx[4], &coordy[4], &channels[4]);
    
  6. Во втором assert в main у тебя побитовое И, а не логическое.
  7. Аргументов у тебя по факту требуется больше, чем ты проверяешь в первом assert.

Бонус не работает, потому что буквы в сообщении должны быть заглавными, внимательно читай задание.
Еще прочитай в каком порядке идут байты в пикселе (спойлер: у тебя не в том)

comment:2 Changed 3 years ago by savinov.vladislav

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

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

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

Корректность -- 20/20
Бонус не работает опять, не декодируется запятая. Читай внимательно в задании какие символы могут быть в сообщении.
Стиль -- 8/10
5-й пункт не исправлен.

comment:4 Changed 3 years ago by savinov.vladislav

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

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

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

40/40

Note: See TracTickets for help on using tickets.