====== Чекер для работы с BMP файлом ====== ===== Задача ===== ==== Общая постановка задачи ==== Обработка файла в формате BMP. Требуется реализовать программу, которая: - находит в файле самый большой белый прямоугольник и выводит координаты левого верхнего угла и правого нижнего. - рисует прямоугольный треугольник в заданной области черным цветом. Прямой угол должен лежать в левом нижнем углу области, длина катетов определяется длиной стороны области, к которой они прилегают, и равна половине этой стороны. - отражает область в файле по горизонтали. - сохраняет результат в новом файле. (число здесь идентифицирует номер команды) ==== Параметры ==== Программа получает параметры из входного потока и должна проверить их корректность. Параметры: * input_file * x0 * y0 * x1 * y1 * commands * input - BMP файл * x0 y0 левый верхний угол области (отсчет с точки 0, 0) * x1 y1 правый нижний угол области * commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 4 - функцией сохранения результата в новом файле. В случае, если программа получила некорректные параметры, то: * операционной системе возвращается ненулевой код возврата (return в main) * не создается выходного в файла * выводится сообщение об ошибке "Fail with <имя параметра>". ==== Общие сведения ==== * 24 бита на цвет * без сжатия * файл всегда соответствует формату (проверять не нужно) * обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями. * обратите внимание на порядок записи пикселей * все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).