Opened 3 years ago
Closed 3 years ago
#210 closed ожидаются исправления (задача сдана)
WW_intrusive_list Klimovich lab_04
Reported by: | klimovich.anna | Owned by: | Антон Филатов |
---|---|---|---|
Component: | WW_intrusive_list | Version: | 1.0 |
Keywords: | Cc: |
Description
Change History (2)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Вывод списка у вас происходит "не в ту стороку" посмотрите повнимательнее, как отрабатывает пример на гите.
При удалении по rm также иногда ругается валгринд
==3723== error calling PR_SET_PTRACER, vgdb might block ==3723== Invalid read of size 8 ==3723== at 0x108A39: remove_point (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== by 0x108BE4: main (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== Address 0x522d388 is 8 bytes inside a block of size 24 free'd ==3723== at 0x4C30D3B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==3723== by 0x1089D9: delete_point (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== by 0x108A34: remove_point (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== by 0x108BE4: main (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== Block was alloc'd at ==3723== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==3723== by 0x108975: add_point (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04) ==3723== by 0x108BA8: main (in /home/wwu/cpp20/cpp20/klimovich.anna/lab_04/lab_04)
Так что 1,5/3,5 за корректность
1,5/1,5 за стиль.
Итого 3/5
Note: See
TracTickets for help on using
tickets.
Анна, Залейте и более старые лабы тоже. это принципиально, чтобы все лабы были выполнены
Все тесты падают с сегфолтом.
Сегфолт вылезает во время вызова команды rma и при простом вызове exit после добавления одного элемента в список:
кажется, что дело в этом:
зачем же вы делаете и remove_node, и head->next
По формальным требованиям это 0 за корректность
Но остальные функции, кажется, работают правильно
Кажется, что free(list) делает не то, что вам надо. По-хорошему надо пройти по каждой ноде списка и для каждой выполнить free. Не забывайте, что после удаления ноды у неё уже next и prev показывают абы куда
Здесь подойдёт обычный scanf
Стиль:
За стиль 1/1,5
В целом код у вас написан правильно. Почините освобождение памяти, и, кажется, всё будет пучком. Давайте я дам вам время до вечера субботы.