====== Задания на оценку "Хорошо" ====== ===== Общая часть вариантов с BMP ===== Программа **обязательно должна иметь CLI** (опционально дополнительное использование GUI). Более подробно тут -- [[..:..:rules_extra_kurs|Требования к курсовым]] Программа должна реализовывать всю следующую функциональность по обработке **bmp**-файла. **Общие сведения** * 24 бита на цвет * без сжатия * файл может не соответствовать формату BMP, т.е. необходимо проверка на BMP формат (дополнительно стоит помнить, что версий у формата несколько). Если файл не соответствует формату BMP или его версии, то программа должна завершиться с соответствующей ошибкой. * обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями. * обратите внимание на порядок записи пикселей * все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены). Все подзадачи, ввод/вывод должны быть реализованы в виде отдельной функции. ===== Общая часть вариантов с PNG ===== Программа **обязательно должна иметь CLI** (опционально дополнительное использование GUI). Более подробно тут -- [[..:..:rules_extra_kurs|Требования к курсовым]] Программа должна реализовывать всю следующую функциональность по обработке **png**-файла. **Общие сведения** * Формат картинки PNG (рекомендуем использовать библиотеку libpng) * без сжатия * файл может не соответствовать формату PNG, т.е. необходимо проверка на PNG формат. Если файл не соответствует формату PNG, то программа должна завершиться с соответствующей ошибкой. * обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями. * все поля стандартных PNG заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены). Все подзадачи, ввод/вывод должны быть реализованы в виде отдельной функции. ===== Индивидуальные задания ===== * [[.:4:4.1|Вариант 4.1]] * [[.:4:4.2|Вариант 4.2]] * [[.:4:4.3|Вариант 4.3]] * [[.:4:4.4|Вариант 4.4]] * [[.:4:4.5|Вариант 4.5]] * [[.:4:4.6|Вариант 4.6]] * [[.:4:4.7|Вариант 4.7]] * [[.:4:4.8|Вариант 4.8]] * [[.:4:4.9|Вариант 4.9]] * [[.:4:4.10|Вариант 4.10]] * [[.:4:4.11|Вариант 4.11]] * [[.:4:4.12|Вариант 4.12]] * [[.:4:4.13|Вариант 4.13]] * [[.:4:4.14|Вариант 4.14]] * [[.:4:4.15|Вариант 4.15]] * [[.:4:4.16|Вариант 4.16]] * [[.:4:4.17|Вариант 4.17]] * [[.:4:4.18|Вариант 4.18]] * [[.:4:4.19|Вариант 4.19]] * [[.:4:4.20|Вариант 4.20]] * [[.:4:4.21|Вариант 4.21]] * [[.:4:4.22|Вариант 4.22]] * [[.:4:4.23|Вариант 4.23]] * [[.:4:4.24|Вариант 4.24]] ----