Opened 3 years ago

Closed 3 years ago

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

WW_intrusive_list Baratov Vagif lab_04

Reported by: baratov.vagif Owned by: Антон Филатов
Component: WW_intrusive_list Version: 2.0
Keywords: Cc:

Description

К сожалению на данном этапе программа еще не делает то, что нужно. Ни как не разберусь с fgets, точнее с тем, как прочитанную строчку разбить на команду и параметры. И еще при компиляции выскакивает warning, не могли бы вы пояснить почему.

Change History (3)

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

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

не, fgets не надо пользоваться.. scanf же! Единственное требование, написанное в readme, это что вы должны сделать не просто scanf("%s",s), а scanf("%239s",s);
ворнинг у вас, поскольку у вас есть структура по имени intrusive_node_s, которую вы затайпдефали именем intrusive_node. То есть теперь можно пользоваться struct intrusive_node_s или intrusive_node (без struct) - и будет одно и то же. Но вы в main внутри структуры point зачем-то написали struct intrusive_node. То есть компилятор это разберёт, как struct struct intrusive_node_s. Он, конечно, разобрался, но вот недоволен.

Пожалуйста, не ставьте запятую между х и у при выводе точки на экран
За корректность формально, к сожалению, могу поставить только 0, хотя список у вас, кажется, написан правильно.

Стиль:

  • в чём смысл создавать элемент head в init_list, если вы им не пользуетесь?
  • сломался отступ на 36-37 строках в clist.c

Стиль: 3/4

Итого: 3/12

comment:2 Changed 3 years ago by baratov.vagif

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

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

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

Ломается удаление по команде rm.
Если взять пример из условия, то если в списке
(1 2) (4 6) (3 6) (1 2)
сделать
rm 1 2
print
то вы выведете пустую строку, вместо (4 6) (3 6)
И к тому же на каждый тест ругается валгринд. Вот пример его вывода на тот же тест, предложенный в задании:

==1858== error calling PR_SET_PTRACER, vgdb might block
==1858==
==1858== HEAP SUMMARY:
==1858==     in use at exit: 311 bytes in 4 blocks
==1858==   total heap usage: 8 allocs, 4 frees, 1,383 bytes allocated
==1858==
==1858== 72 (48 direct, 24 indirect) bytes in 2 blocks are definitely lost in loss record 2 of 3
==1858==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1858==    by 0x1088A5: add_point (in /home/wwu/cpp20/cpp20/baratov.vagif/lab_04/lab_04)
==1858==    by 0x108AE6: main (in /home/wwu/cpp20/cpp20/baratov.vagif/lab_04/lab_04)
==1858==
==1858== 239 bytes in 1 blocks are definitely lost in loss record 3 of 3
==1858==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==1858==    by 0x108A68: main (in /home/wwu/cpp20/cpp20/baratov.vagif/lab_04/lab_04)
==1858==
==1858== LEAK SUMMARY:
==1858==    definitely lost: 287 bytes in 3 blocks
==1858==    indirectly lost: 24 bytes in 1 blocks
==1858==      possibly lost: 0 bytes in 0 blocks
==1858==    still reachable: 0 bytes in 0 blocks
==1858==         suppressed: 0 bytes in 0 blocks

К сожалению по формальным правилам я могу поставить вам только 0 за корректность
Стиль: 4/4

Итого: 4/12

Note: See TracTickets for help on using tickets.