Opened 3 years ago
Closed 3 years ago
#58 closed ожидается проверка (задача сдана)
WW_mergesort Kuznecz Anton lab_03
Reported by: | Anton | Owned by: | Антон Филатов |
---|---|---|---|
Component: | WW_mergesort | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (6)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
1) Valgrind больше не ругается
2) '\n' в конце вывода
3) Бонусное задание
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Да, основное задание - 10/10, а вот по бонусному не могу сейчас зачесть
Смотрите, ваш код:
mergesort(arr, middle, element_size, comparator); mergesort((char*)arr + middle * element_size, elements - middle, element_size, comparator); char* const res = (char*)malloc(elements * element_size); if(res == NULL) return -1;
может так статься, что на какой-то там глубине рекурсии один из mergesort-ов вернул -1, а потом после этого память резко появилась и следующий malloc выделил память правильно. Получается, что та -1 потерялась навсегда. Ведь return внутри рекурсивной функции не останавливает раскрутку рекурсии
Так что пока 10/10
comment:4 Changed 3 years ago by
Кстааати. У вас в mergesort как-то многовато malloc-ов получается. По сути на каждой итерации рекурсии надо что-то малочить. Нельзя ли обойтись одном malloc-м?
Нельзя одним малоком, проехали
comment:5 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
comment:6 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Принимается. 11/10
Корректность: все тесты выводят правильный результат (ну, кроме \n в конце), но на каждый тест ругается валгринд на defenetly lost bytes
По формальным правилам 0/7 за корректность
Стиль:
Например, вместо
Сделать
В остальном всё ок
3/3 за стиль, но поправьте замечания выше
итог: 3/10