Opened 5 years ago
Closed 5 years ago
#337 closed ожидается проверка (задача сдана)
WW_#3
Reported by: | kirillova.evgeniya | Owned by: | Артур Гулецкий (huletski) |
---|---|---|---|
Component: | WW_intrusive_list | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 follow-up: 3 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
1) Untitled Document. У меня не совсем правильно работала функция remove_point и я пыталась изменить код, но на всякий случай скопировала то, что уже было написано, в отделбный документ, чтобы не писать заново, если с исправлениями ничего не получится. И потом забыла удалить этот документ.
2)Строчка clist.c:28 не нужна. Скорее всего, когда компилятор ругался на неиспользуемую переменную в функции remove_node, я сначала не в той функции написала (void)list, а потом забыла про это и не удалила.
comment:3 Changed 5 years ago by
Replying to kirillova.evgeniya:
1) Untitled Document. У меня не совсем правильно работала функция remove_point и я пыталась изменить код, но на всякий случай скопировала то, что уже было написано, в отделбный документ, чтобы не писать заново, если с исправлениями ничего не получится. И потом забыла удалить этот документ.
Ок, но проще было бы закомментировать.
2)Строчка clist.c:28 не нужна. Скорее всего, когда компилятор ругался на неиспользуемую переменную в функции remove_node, я сначала не в той функции написала (void)list, а потом забыла про это и не удалила.
Ок
comment:4 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Решение неверно работает с памятью на _примере из задания_:
{lab_03}[2423]$ pwd && svn up && svn status /home/hfx/dvl/cpp19/kirillova.evgeniya/lab_03 Updating '.': At revision 1327. {lab_03}[2424]$ make mkdir obj gcc -c src/main.c -o obj/main.o -Wall -Werror -Wextra -I./include gcc -c src/clist.c -o obj/clist.o -Wall -Werror -Wextra -I./include gcc obj/main.o obj/clist.o -o lab3 -I./include -Wall -Werror -Wextra {lab_03}[2425]$ cat ~/dvl/private-labs/lab_03/check/tests/00-smoke.input add 1 2 add 3 6 add 4 6 len add 1 2 print sort rm 1 2 print rma print len add 2 -4 print exit {lab_03}[2426]$ valgrind ./lab3 < ~/dvl/private-labs/lab_03/check/tests/00-smoke.input ==12149== Memcheck, a memory error detector ==12149== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==12149== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==12149== Command: ./lab3 ==12149== 3 (1 2) (4 6) (3 6) (1 2) Unnknown command (4 6) (3 6) 0 (2 -4) ==12149== ==12149== HEAP SUMMARY: ==12149== in use at exit: 16 bytes in 1 blocks ==12149== total heap usage: 8 allocs, 7 frees, 5,256 bytes allocated ==12149== ==12149== LEAK SUMMARY: ==12149== definitely lost: 16 bytes in 1 blocks ==12149== indirectly lost: 0 bytes in 0 blocks ==12149== possibly lost: 0 bytes in 0 blocks ==12149== still reachable: 0 bytes in 0 blocks ==12149== suppressed: 0 bytes in 0 blocks ==12149== Rerun with --leak-check=full to see details of leaked memory ==12149== ==12149== For counts of detected and suppressed errors, rerun with: -v ==12149== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Замечания:
- опечатка в сообщении "Unknown command";
- не освобождается память, выделенная под head -> -1.5;
- не соблюдается единый стиль отступов (
main.c:87
) -> -0.5; remove_point
: лучше использовать циклwhile
, т.к. изменение переменной, по которой итерируетесь в for-цикле (tmp
), выглядит странным;- имя "tmp" для переменной, по которой итерируетесь в циклах, не отражает "смысл" хранимого в переменной значения (указатель на очередной узел), примеры названий получше: "cursor", "current_node", "node";
- вокруг оператора
->
пробелы обычно не ставятся (а->b
, а неа -> b
).
Итог: 10/12.
Собирается (+0.01), не работает на примере из задания:
Замечания (надо исправлять):
clist.c
.Вопросы (ответы должны быть в комментарии):
Untitled Document
с кодом функции удаления точки. Как он там оказался (опишите процесс работы над заданием, при котором возникла необходимость в этом документе)?clist.c:28
?