87 lines
2.7 KiB
Markdown
87 lines
2.7 KiB
Markdown
# Задание семинара 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
|
||
|
||
Релизовать метод для загрузки изображения из файла |