Opened 3 years ago

Closed 3 years ago

#184 closed ожидаются исправления (задача НЕ сдана)

WW_5_Kravchenko

Reported by: kravchenko.egor Owned by: Святослав Власов
Component: WW_c_io Version: 1.0
Keywords: Cc:

Description


Change History (4)

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

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

Корректность -- 6.5/7.

  1. Зачем apply два раза проходит по списку? Это лишнее.

Стиль -- 2.9/3.

  1. Вам рассказывали на лекциях про union? Если нет, то погугли -- это несложная концепция. Это как будто структура, только все поля этой структуры находятся по одному и тому же смещению, то есть занимают одно и то же пространство в памяти. Можно написать, например, вот такую структуру:
    union Coord {
      int32_t value;
      char[4] bytes;
    };
    

Так как value и bytes находятся по одному и тому же смещению, то bytes являются байтами числа value. И записав в value какое-то число, ты можешь обращаться к байтам этого числа через bytes.
Использование union поможет тебе немного упростить код связанный с бинарным представлением чисел. Попробуй.

  1. Неплохо бы проверить argc ассертом или условием. Падать в UB из-за забытого аргумента -- так себе идея.

В остальном -- классный код, молодец!

Бонус +2/2

comment:2 Changed 3 years ago by kravchenko.egor

Как сделать печать элементов в правильном порядке, чтобы не проходить два раза apply? Можно, конечно, в списке в конец добавлять или входной файл с другого конца читать, но это требует больше нового кода.

comment:3 in reply to:  2 Changed 3 years ago by Святослав Власов

Replying to kravchenko.egor:

Как сделать печать элементов в правильном порядке, чтобы не проходить два раза apply? Можно, конечно, в списке в конец добавлять или входной файл с другого конца читать, но это требует больше нового кода.

По разному можно. К примеру -- список развернуть, прежде чем отдать apply.

comment:4 Changed 3 years ago by kravchenko.egor

Resolution: задача НЕ сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.