Перейти к содержанию

Домашнее задание#

  1. Согласно вашему номеру по списку реализуйте графическое приложение со следующими характеристиками: (см. Методические указания по реализации кода)
  2. Создайте экран 500 на 500 пикселей
  3. Отрисуйте 10 ячеек (размер ячейчки 50 на 50 пикселей)
  4. Разработайте алгоритм с использованием цикла for для закрашивания ячеек, согласно вашему варианту

  5. Отчет оформите в Word файле формата *.doc или *.docx

Стурктура отчета:
- Титульный лист, офрмленный согласно шаблону. Лабораторная работа №3 "Разработка графического приложения с использованием циклов"
- Номер задания. Добавляете рисунок по вашему варианту из таблицы ниже.
- Даете ссылку на Гитхаб. Прикладываете скрин реализации (работающего интерфейса).
- Листинг 1 с фрагментом кода прилоежния, где описывается логика выбора ячеек (цикл for)

Подготовьтесь к защите проекта.

Ход выполнения#

Методические указания по определению ячеек#

Рассмотрим подробно основные свойства элементов матриц. Для этого введем индексы i и j для обозначения строки и столбца.
Индексирование начнем с элементы (0,0) до (N, N) элемента.

https://ratcatcher.ru/media/inf/pr/pr6/LbH58scwu6o.jpg

Главная диагональ проходит через элементы, у которых номер строки совпадает с номером столбца:

i = j

Пример для матрицы размерности 5x5:

1 2 3 4 5
1 1,1
2 2,2
3 3,3
4 4,4
5 5,5

Побочная диагональ проходит через элементы, у которых сумма индексов строки и столбца равна размерности матрицы плюс один:

i + j = n + 1

Пример:

1 2 3 4 5
1 1,5
2 2,4
3 3,3
4 4,2
5 5,1

Диагонали, параллельные главной, подчиняются правилу:

i - j = p

где p — смещение относительно главной диагонали.

Пример для диагонали выше главной диагонали (p = -1):

1 2 3 4 5
1 1,2
2 2,3
3 3,4
4 4,5
5

Диагонали параллельны побочной, если соблюдается следующее:

i + j = p + k

где p — смещение относительно побочной диагонали, а k — константа.

Пример диагонали со смещением p = 1:

i + j = 7 (i + j = n + 1 + p)

1 2 3 4 5
1 1,4
2 2,3
3 3,2
4 4,1
5

Чтобы выводить "области" достаточно сделать неравенства, заменив = на < или > (>=, <=)

Например, элементы над главной диагональю подчиняются неравенству:

i < j

Пример для матрицы 5x5:

1 2 3 4 5
1 1,2 1,3 1,4 1,5
2 2,3 2,4 2,5
3 3,4 3,5
4 4,5
5

Пример реализации кода (без графического интерфейса)#

#include <iostream>
using namespace std;

int main() {
    int n = 5;  // размерность матрицы

    // Главная диагональ
    cout << "Главная диагональ: " << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (i == j) {
                cout << "(" << i + 1 << ", " << j + 1 << ") ";
            }
        }
    }
    cout << endl << endl;

    // Побочная диагональ
    cout << "Побочная диагональ: " << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (i + j == n - 1) {
                cout << "(" << i + 1 << ", " << j + 1 << ") ";
            }
        }
    }
    cout << endl << endl;

    // Над главной диагональю (i < j)
    cout << "Элементы над главной диагональю: " << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (i < j) {
                cout << "(" << i + 1 << ", " << j + 1 << ") ";
            }
        }
    }
    cout << endl << endl;

    return 0;
}

Варианты#

Вариант Матрицы
1 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_1.png
2 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_2.png
3 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_3.png
4 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_4.png
5 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_5.png
6 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_6.png
7 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_7.png
8 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_8.png
9 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_9.png
10 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_10.png
11 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_11.png
12 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_12.png
13 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_13.png
14 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_14.png
15 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_15.png
16 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_16.png
17 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_17.png
18 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_18.png
19 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_19.png
20 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_20.png
21 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_21.png
22 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_22.png
23 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_23.png
24 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_24.png
25 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_25.png
26 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_26.png
27 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_27.png
28 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_28.png
29 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_29.png
30 https://ratcatcher.ru/media/inf/pr/pr6/Матрица_30.png