Opened 3 years ago

Closed 3 years ago

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

mergesort v2

Reported by: petrov.vladimir Owned by: Святослав Власов
Component: WW_mergesort Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 3 years ago by Святослав Власов

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

Валгринд ругается на invalid read и write, а также definitely lost bytes. Это сразу 0/7 за корректность.

Замечания на данный момент:

  1. Длинные строки нужно разбить
  2. Давай функцию merge и функцию побайтового присваивания одного элемента отдельно вынесем. Будет меньше копипасты и код станет понятнее.
  3. Зачем эта конструкция нужна, когда у тебя есть адресная арифметика?
        while(pos < mid){
            initial++;
            pos++;
        }
    
  4. Здесь синтаксис массивов будет смотреться лаконичнее и понятнее:
                for(size_t i = 0; i < element_size; i++){
                    *result = *it_first;
                    result++;
                    it_first++;
                }
    

Пока это 0, естественно.

comment:2 Changed 3 years ago by petrov.vladimir

Summary: mergesort v1mergesort v2
Version: 1.02.0

comment:3 Changed 3 years ago by petrov.vladimir

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

Забыл исправить статус, извините!

Last edited 3 years ago by petrov.vladimir (previous) (diff)

comment:4 Changed 3 years ago by Святослав Власов

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

Корректность -- 7/7.
Стиль -- 1.5/3
Нет проверки ассертами выделенной памяти.
Формат кое где едет -- пробелов не хватает и длинные строки.
Юзаешь синтаксис указателей, хотя в задании русским по белому сказано использовать синтаксис массивов.
В чем сакральный смысл этой конструкции?

    char* buffer = malloc(239);
    assert(buffer);
    free(buffer);

Прогреваешь память? :)

Note: See TracTickets for help on using tickets.