Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#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 Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to Марк Прудников
Type: ожидается проверкаожидаются исправления
Version: 1.0

Содержательно проверять всё ещё нечего. 0.

comment:2 Changed 3 years ago by Марк Прудников

Owner: changed from Марк Прудников to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка

Перенаправляю, чтобы получить фидбек (писал на почту про это).

comment:3 Changed 3 years ago by Дмитрий Лапшин (lapshin)

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

Предупреждения компилятора нехорошие.

Формат вывода нарушен (в конце лишний пробел, нет перевода строчек). 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 Дмитрий Лапшин (lapshin)

ещё на будущее: Makefile перечитай, у тебя цель main не собирает main, а файл lab_03 появляется как сайд-эффект.

Note: See TracTickets for help on using tickets.