#106 closed ожидается проверка (задача сдана)
Prudnikov WW_mergesort lab_03
Reported by: | Марк Прудников | Owned by: | Дмитрий Лапшин (lapshin) |
---|---|---|---|
Component: | WW_mergesort | Version: | |
Keywords: | Cc: |
Description
По факту проверять нечего, отправляю, чтобы 0 не получить.
Change History (4)
comment:1 Changed 3 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to Марк Прудников |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Version: | 1.0 |
comment:2 Changed 3 years ago by
Owner: | changed from Марк Прудников to Дмитрий Лапшин (lapshin) |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Перенаправляю, чтобы получить фидбек (писал на почту про это).
comment:3 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Предупреждения компилятора нехорошие.
Формат вывода нарушен (в конце лишний пробел, нет перевода строчек). Valgrind кричит, надо разбираться почему.
Стиль не очень консистетный, читать трудно. Повторяются длинные выражения, прямо просятся переменные. Имена переменных тоже неочевидные (end
? start
при этом не используется). Зачем копируется argv[1]
в type
?
Структура проекта крайне странная. Казалось бы, попросили сортировку реализовать в mergesort.c
/mergesort.h
, а запуск программы, пользуйщейся сортировкой, в main.c
, а получилось вперемешку.
Увидел sizeof(array_int) / sizeof(int)
, из-за того что array_int
это указатель (то есть его размер 8) это просто ложь.
Зачем писать *(array_int + i)
, это же массив, ты рядом же пишешь array_int[i]
.
А потом я нашёл, что почему-то у тебя mergesort
делает один рекурсивный вызов.
my_merge
перевычисляет mid
, хотя казалось бы зачем его считать раздельно в двух местах, это опасно. И зачем-то смотрит на число элементов... Кажется ты запутался в алгоритме.
И цикл merge
у тебя не самый простой и понятный.
Рекомендую починить технические огрехи, и переписать алгоритм с нуля, прочитав объяснение заново, потому что пока это похоже на неудачную попытку пересказа без полного понимания. Если захочешь я тебе пришлю свою довольно аккуратную реализацию.
comment:4 Changed 3 years ago by
ещё на будущее: Makefile
перечитай, у тебя цель main
не собирает main
, а файл lab_03
появляется как сайд-эффект.
Содержательно проверять всё ещё нечего. 0.