Opened 7 years ago

Closed 6 years ago

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

HA2 Petryakov Ivan

Reported by: Иван Owned by: rutsky,grabovoy.philipp
Priority: проверка Milestone: ha2-deadline
Component: HA#2 huffman Version: 1.0
Keywords: Cc:

Description

Здравствуйте! Немножко не уложился в сроки, возникли некоторые трудности. Но теперь все работает (вроде как), smoke test пройден! Проверьте, пожалуйста.

Change History (7)

comment:1 Changed 6 years ago by Филипп

Milestone: ha2-milestone2ha2-deadline

Привет! Несколько вещей на доработку:

  1. При сравнении аргументов можно смело приводить argv[i] к std::string, чтобы использовать operator==(const char *)
  2. Похоже, compress подхватывает нулевой символ даже там, где этого не нужно: 0A.in, ab.in -- из-за этого кодировка неоптимальная
  3. Лучше называть переменные более явно: full_size + add_size * 5 + 8, add_size * 5 + 8 выглядят очень по-магически :) ans/answer легко спутать, и по наименованию непонятно, чем они отличаются.
  4. Константная ссылка у параметров: в visual_tree

comment:2 Changed 6 years ago by Иван

Добрый вечер! Спасибо за замечания. У меня возникли сложности со вторым пунктом еще на предыдущем этапе. До этого я просто декрементировал значение у '\0', но мне показалось это страшным костылем и я решил обойтись без этого =) А существуют ли другие способы исправить эту ошибку?

comment:3 Changed 6 years ago by Филипп

http://www.cplusplus.com/reference/ios/ios/eof/ -- про .eof()
http://www.cplusplus.com/reference/ios/ios_base/iostate/ -- про eofbit

В текущей реализации кода проверять на eof нужно после чтения символа. Проще это делать через get/read.

И обязательно нужно убрать декремент (сейчас он работает): map::operator[] создаст элемент, если его нет в коллекции.

comment:4 Changed 6 years ago by Иван

Здравствуйте! Исправил Ваши замечания. Все работает как нужно, без лишних декрементов!

comment:5 Changed 6 years ago by Филипп

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

Привет!

Проверь, пожалуйста, работу программы с пустым файлом; с файлом 0D.in -- не совпадает статистика.
И логика флага -v стала по-умолчанию включена.

Поправь, пожалуйста, по возможности в течение 60 часов.

Last edited 6 years ago by Филипп (previous) (diff)

comment:6 Changed 6 years ago by Иван

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

Добрый вечер! Спасибо за замечания. Я немножко запутался в выводе. Теперь поправил, чтобы было как в задании.

comment:7 Changed 6 years ago by Филипп

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

Не все поправилось (пример aaaa.in, его работа с флагом -v), но довести до конца можно :)

Note: See TracTickets for help on using tickets.