Opened 6 years ago
Closed 6 years ago
#236 closed ожидается проверка (задача сдана)
ha2
Reported by: | Alina Filimokhina | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha2-deadline |
Component: | HA#2 huffman | Version: | |
Keywords: | Cc: |
Description
Посмотрите, пожалуйста.
Change History (7)
comment:1 Changed 6 years ago by
Milestone: | ha2-milestone2 → ha2-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 6 years ago by
- В
decoder()
не используетсяflag
--- удалите его.
Я не прав, в decoder()
нужно реализовать вывод полученных кодов Хаффмана.
comment:5 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:6 Changed 6 years ago by
Замечания:
- Неизменяемые аргументы-строки стоит сделать константными. Например в
void encoder (char *source, char *dest, bool verbose);
:void encoder (char const *source, char const *dest, bool verbose);
- Используйте тип
size_t
для индексов. Здесь:for (auto i = 0; i < col; i++) {
, типi
оказываетсяint
.
- Здесь:
uint32_t ww = 0; for (auto &encoded: huffman_encoding) { ww++; }
Вы можете вычислить
ww
без итерирования:uint32_t ww = huffman_encoding.size()
.
- Выводимая статистика всё ещё некорректна. Вы включаете размер доп. данных в размер сжатых данных.
Решение зачтено с минусом.
comment:7 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Замечания:
incoder()
(лучше назватьencoder()
) иdecoder()
константными. Для булевых флагов стоит использовать типbool
. Переименуйте аргументы, чтобы они отражали их значение, напримерsource
,dest
иverbose
.huffman.hpp
не стоит включать<fstream>
.huffman.cpp
вы включаете некоторые заголовочные файлы по нескольку раз.class Huffman
у вас только статические функции и определение дополнительного класса --- сделайте статические функции свободными функциями.decoder()
не используетсяflag
--- удалите его.-v
вы выводите сначала двоичный код Хаффмана для символа, а затем код символа, а требуется наоборот. Также выводимые символы должны быть упорядочены в лексикографическом порядке по двоичным кодам символов.&
,|
,<<
,>>
и т.п.), для работы с битами (вместо, например, умножения и взятие остатка от деления).Исправьте, пожалуйста, в ближайшие 60 часов.