#406 closed ожидается проверка (задача сдана)
WW #5
Reported by: | smirnov.ilya | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | WW_c_io | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (8)
comment:1 Changed 5 years ago by
Owner: | changed from Дмитрий Свиридкин to smirnov.ilya |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 5 years ago by
Owner: | changed from smirnov.ilya to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:3 Changed 5 years ago by
Owner: | changed from Дмитрий Свиридкин to smirnov.ilya |
---|---|
Type: | ожидается проверка → ожидаются исправления |
- Дополнение до двух работает некорректно. Знаковый бит в типе int никак не именяется.
- int не всегда 4 байта. Используйте типы с фиксированной длиной: int32_t, uint32_t, uint8_t
- Магическую константу в объявлении лучше замените на
(1 << 24) (+/-) 1
- У вас переменные то с маленькой буквы, то с большой буквы. С функциями тоже.
- Как параметр может называться unused, если он используется?!
int *sum; sum = (int *)unused;
Не разрывайте объявление и инициализацию.
7. (void)argc;
Если аргументов недостаточно, лучше по-нормальному вернуть EXIT_FAILURE, чем улететь с segmentation fault
intrusive_list *MyList = &list;
Почему бы не использовать и далее просто &list ?
7.0
comment:4 follow-up: 6 Changed 5 years ago by
Но оно же работает с отрицательными числами...Или надо именно через дополнительный код?
comment:5 Changed 5 years ago by
Owner: | changed from smirnov.ilya to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
comment:6 Changed 5 years ago by
Replying to smirnov.ilya:
Но оно же работает с отрицательными числами...Или надо именно через дополнительный код?
Оно не работает с отрицательными числами представленными в дополнительном коде. Именно такое представление указано в задании. И именно в таком представлении записаны числа в тестовых файлах.
comment:7 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
10.2
В общем случае то, что беззнаковое трехбайтное число превышает 5000000, не означает, что это число, будучи знаковым, будет отрицательным.
Ваше решение пока лидирует по сложности метода чтения и записи в бинарном формате.
argc для любой программы всегда >= 1.
Правильное решение должо допускать argc от 4 до 5.
Чтение из бинарного файла некорректно: char может оказаться знаковым и все сломается.
Форматирование пляшет
Имена переменных a,b,c,d в функциях чтения и записи следует переосмыслить. Однобуквенным именем l вообще лучше никогда не пользоваться: часто путается с 1, I.
Имя второго аргумента в функциях save/load не соответствует назначению
Зачем в функцию LoadBin? передавать дополнительную функцию?
5/10