Задания на оценку "Отлично"

Общая часть вариантов с BMP

Программа обязательно должна иметь CLI (опционально дополнительное использование GUI).

Более подробно тут – Требования к курсовым

Программа должна реализовывать всю следующую функциональность по обработке bmp-файла.

Общие сведения

24 бита на цвет

без сжатия

файл может не соответствовать формату BMP, т.е. необходимо проверка на BMP формат (дополнительно стоит помнить, что версий у формата несколько). Если файл не соответствует формату BMP или его версии, то программа должна завершиться с соответствующей ошибкой.

обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.

обратите внимание на порядок записи пикселей

все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).

Каждую подзадачу следует вынести в отдельную функцию, функции сгруппировать в несколько файлов (например, функции обработки текста в один, функции ввода/вывода в другой). Сборка должна осуществляться при помощи make и Makefile (это необходимое требование – без него не получится пройти проверку, однако, по желанию можно изучить альтернативные системы сборки).

Общая часть вариантов с PNG

Программа обязательно должна иметь CLI (опционально дополнительное использование GUI).

Более подробно тут – Требования к курсовым

Программа должна реализовывать всю следующую функциональность по обработке bmp-файла. Общие сведения

Формат картинки PNG (рекомендуем использовать библиотеку libpng)

без сжатия

файл может не соответствовать формату PNG, т.е. необходимо проверка на PNG формат. Если файл не соответствует формату PNG, то программа должна завершиться с соответствующей ошибкой.

обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.

все поля стандартных PNG заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).

Каждую подзадачу следует вынести в отдельную функцию, функции сгруппировать в несколько файлов (например, функции обработки текста в один, функции ввода/вывода в другой). Сборка должна осуществляться при помощи make и Makefile (это необходимое требование – без него не получится пройти проверку, однако, по желанию можно изучить альтернативные системы сборки).

Индивидуальные задания

Вариант 5.1

Вариант 5.2

Вариант 5.3

Вариант 5.4

Вариант 5.5

Вариант 5.6

Вариант 5.7

Вариант 5.8

Вариант 5.9

Вариант 5.10

Вариант 5.11

Вариант 5.12

Вариант 5.13

Вариант 5.14

Вариант 5.15

Вариант 5.16

Вариант 5.17