Opened 3 years ago

Closed 3 years ago

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

HW #1 (BMP) Skalt hw_01

Reported by: skalt.albert Owned by: Антон Филатов
Component: HW #1 (BMP) Version: 3.0
Keywords: Cc: Антон Филатов

Description


Change History (6)

comment:1 Changed 3 years ago by Антон Филатов

Пока проходит только тест на
crop-rotate lena_512.bmp outfile 0 0 512 512

Вы забыли потрогать в выходном файле size в первом заголовке и image size во втором заголовке.
По содержимому байты правильные, если результирующий файл делится на 4.
При вызове
crop-rotate lena_512.bmp out 100 50 131 131
приблизительно каждый 400-й байт поломан (остальные нормальные). Поломан как - должен быть 00, а у вас не нули там.
С неквадратными и не кратными четырём изображениями та же пертушка - один какой-то байт раз в несколько тысяч глючит. Не могу, к сожалению, более детально описать падающие тесты

По стилю:
на самом деле написано хорошо, даже как-то не хочется докапываться.

  • проверьте, не стоит ли какие-нибудь функции сделать статическими

Корректность: 5/20
Стиль: 9/10

comment:2 Changed 3 years ago by Антон Филатов

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

comment:3 Changed 3 years ago by skalt.albert

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

comment:4 Changed 3 years ago by Антон Филатов

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

Да, теперь все тесты проходят.
Про статические функции я говорил на самом деле в связи с функцией debug в bmp.c
вы ей как-то особо не пользуетесь, поэтому не понятно, должна ли она торчать наружу? или ей достаточно быть локальной внутри bmp.c

На stergo при вставке ругается валгринд

==380== error calling PR_SET_PTRACER, vgdb might block
==380== Invalid read of size 4
==380==    at 0x109CB8: insert (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1096C9: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==  Address 0x522da6c is 0 bytes after a block of size 780 alloc'd
==380==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==380==    by 0x109BAB: read_coords (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1095A8: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==
==380== Invalid read of size 4
==380==    at 0x109CDA: insert (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1096C9: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==  Address 0x522da70 is 4 bytes after a block of size 780 alloc'd
==380==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==380==    by 0x109BAB: read_coords (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1095A8: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==
==380== Invalid read of size 1
==380==    at 0x109CFD: insert (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1096C9: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==  Address 0x522da74 is 8 bytes after a block of size 780 alloc'd
==380==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==380==    by 0x109BAB: read_coords (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==    by 0x1095A8: main (in /home/wwu/cpp20/cpp20/skalt.albert/hw_01/hw_01)
==380==
==380==
==380== HEAP SUMMARY:
==380==     in use at exit: 0 bytes in 0 blocks
==380==   total heap usage: 16 allocs, 16 frees, 797,972 bytes allocated
==380==
==380== All heap blocks were freed -- no leaks are possible

При этом дешифровка проходит после этого правильно.
Корректность: 20/20
Стиль: 10/10
Бонус: пока 1/10

Last edited 3 years ago by Антон Филатов (previous) (diff)

comment:5 Changed 3 years ago by skalt.albert

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

debug мною использовался во время собственно дебага, поэтому при коммите я убирал все его использования.

comment:6 Changed 3 years ago by Антон Филатов

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

20 + 10 + 10

Note: See TracTickets for help on using tickets.