ЛР1. Высокоуровневая (потоковая) обработка файлов.

Для решения задач следует использовать потоковые функции работы с файлами.

Задания

  1. (30) Подсчет строк, слов и символов.

    Создать аналог утилиты wc (word counter). Обработать опции -c -w -l короткого вида, предусмотреть возможность отсутствия имени обрабатываемого файла в командной строке (опция -). Пробельным символом (разделителем слов) считать любой символ, код которого меньше 33.

  2. (50+20) Обработка файла растрового изображения

    Дан файл формата BMP, представляющий собой квадратное изображение. Используя источники в сети Интернет (Википедия, MSDN и т.п.) и/или печатную литературу по графическим форматам, создать программу, которая загружает из переданного ей файла формата BMP заголовки формата, анализирует их, а затем заменяет в исходном файле только те байты, которые позволяют превратить изображение 1 в изображение 2. ЗАПРЕЩЕНА загрузка самого изображения в оперативную память с последующей обработкой.
    Изображение 1Изображение 2
                    
    При проверке решения студент имеет право зафиксировать любые параметры формата (версию, палитру, метод кодирования и т.п.). Преподаватель имеет право произвольно задавать содержимое и размер квадратного изображения, а также цвет пересекающихся отрезков.