Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

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

WW #4

Reported by: Vavilov Mark Owned by: Sokolov Viacheslav
Component: WW_mergesort Version: 2.0
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 5 years ago by Vavilov Mark

Summary: WW #3WW #4

comment:2 Changed 5 years ago by Sokolov Viacheslav

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

Не компилируется

╰─>$ make
gcc -c  src/main.c -o obj/main.o -Wall -Wextra -Werror -Iinclude -g
src/main.c: In function ‘main’:
src/main.c:85:7: error: ‘array’ undeclared (first use in this function)
  free(array);
       ^~~~~
src/main.c:85:7: note: each undeclared identifier is reported only once for each function it appears in
Makefile:18: recipe for target 'obj/main.o' failed
make: *** [obj/main.o] Error 1

comment:3 Changed 5 years ago by Vavilov Mark

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

comment:4 Changed 5 years ago by Sokolov Viacheslav

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

В компараторах потеряна константность (происходит каст к неконстантным указателям).

Строку "Memory allocation failed" стоило бы именовать и вынести отдельно, чтобы не дублировать (вдруг захочется поменять потом?)

В mergesort.h отсутствует проверка контрактов (ненулевые указатели, ненулевой element_size, непонятно, можно ли передавать 0 элементов и тд)

В реализации merge много дублирований кода, их можно было бы избежать

Удачное решение - выделить буфер заранее на все время работы.

comment:5 Changed 5 years ago by Sokolov Viacheslav

Бонусное задание выполнено, но в случае, если внезапно память кончилось при аллокации в main, пользователь не увидит об этом сообщения

Note: See TracTickets for help on using tickets.