HLPL2/Sem1/readme.md

87 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Задание семинара 1
Необходимо разработать класс Image
```cpp
#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
Релизовать метод для загрузки изображения из файла