Понял, что прошлое решение было неправильным, сделал по-новой. Проходит на моём компиляторе при любых условиях: 1) Пустой файл 2) Нечётный файл размером в 1 байт, 3 байта, 5 байт и так далее 3) Чётный файл размером в 2, 4 байта и так далее И самое главное, всё работает и строго по условиям. Какого валидатор ругается по четвёртому пункту?