Change History (5)

comment:1 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

./lab_04/bin/lab_04 str
src/main.c:63:8: runtime error: variable length array bound evaluates to non-positive value 0

Никогда не используйте VLA. Стек сильно не резиновый.
И зачем вам куда-то копировать строки из аргументов? Отсортируйте их там же!

И лучше разбейте тело main на три отдельных функции.

И советую внимательно почитать описание malloc, что будет при определенных значениях аргументов: https://en.cppreference.com/w/c/memory/malloc.

comment:2 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

Ок. Тесты пройдены.

Операции выделения и освобождения памяти - очень тяжелые. Делать их на каждом уровне рекурсии не самая лучшая затея. Попробуйте обойтись ровно одним выделением памяти.

Вместо обмена значений между буфером и массивом после слияния лучше воспользоваться memcpy.

Еще можно подумать, как обойтись совсем без рекурсии. Но это из разряда бонусных заданий.

Last edited 5 years ago by Дмитрий Свиридкин (previous) (diff)

comment:4 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:5 Changed 5 years ago by Дмитрий Свиридкин

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

Ну что ж вы память-то очищаете не в той функции, в которой выделяли! Эх!

9.8 + 1

Note: See TracTickets for help on using tickets.