HLPL2/Sem1
2020-09-07 08:54:24 +00:00
..
main.cpp Sem1 — first draft 2020-09-07 08:54:24 +00:00
readme.md Sem1 task assigned 2020-09-07 06:22:51 +00:00

Задание семинара 1

Необходимо разработать класс Image

#include <stream>

using namespace std;

class Image {
  int mx;
  int my;
  int data[100000];

public:
  Image (int tmx, int tmy) {      // Должен инициализировать изображение 0   
     for(int i=0;i<10000;i++)
       data[i] = 0;
  }

  int getMx() {
    return mx;
  }

  int getMy() {
  }

  void show() {                   // Должен выдавать на экран изображение при помощи printf или std::cout
     // TODO реализовать
  }

  int get(int x,int y)  {
    // TODO реализовать логику
    return 0;
  }

  void set(int x,int y,int color)  {
    // TODO реализовать логику 
  }

};


Image a(10,10);

int main() {
  return 0;
}

Задание 1

Создать переменную типа Image и убедиться путем вставки отладочной печати, что конструктор вызывается.

Задание 2.

Вариант 1:

Реализовать методы get и set в предположение, что двумерное изображение помещается в одномерный массив data по строкам (перва строка, второая строка и т.д.)

Вариант 2

Реализовать метод copy, получающий копирующий другое изображение и копирующий его в данное, а также метод compare, которые сравнивает текущее изображение с другим

Задание 3.

Реализовать метод show и убедиться, при создании переменной дял изображение 10 на 10 на экран выводится правильрное изображение

Задание 4.

Вариант 1

Добавить в класс метод для рисования вертикальных линий. Убедиться, что они работают путем выдачи изображения на экран при помощи метода show.

Вариант 2

Добавить в класс метод для горизонтальных линий. Убедиться, что они работают путем выдачи изображения на экран при помощи метода show.

Задание 5

Вариант 1

Релизовать метод для сохранения изображения в файл

Вариант 2

Релизовать метод для загрузки изображения из файла