Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.

[task_03] Add problem solution #351

Open
wants to merge 57 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
5c7239e
[task_03] Add problem soluiton
hudshiy1 Dec 13, 2023
91c2880
Update report.md
hudshiy1 Dec 13, 2023
416af6d
Merge branch 'brstu:main' into task_03
hudshiy1 Dec 13, 2023
34eba0e
123
hudshiy1 Dec 13, 2023
ba1bd1e
Update report.md
hudshiy1 Dec 13, 2023
538a1e1
Update readme.md
hudshiy1 Dec 13, 2023
2097d8e
Update main.py
hudshiy1 Dec 13, 2023
8505692
Update main.py
hudshiy1 Dec 14, 2023
e11e5e9
Merge branch 'main' into task_03
hudshiy1 Dec 14, 2023
2ac3d9d
Merge branch 'main' into task_03
hudshiy1 Dec 14, 2023
c04249a
Merge branch 'main' into task_03
hudshiy1 Dec 14, 2023
ccea264
Update main.py
hudshiy1 Dec 14, 2023
33c8251
Merge branch 'main' into task_03
LapinVladimir Dec 15, 2023
c4b693b
Update main.py
hudshiy1 Dec 15, 2023
c046742
Update main.py
hudshiy1 Dec 15, 2023
b3a704f
Update main.py
hudshiy1 Dec 15, 2023
bc7aec8
Update main.py
hudshiy1 Dec 15, 2023
81e786f
Update main.py
hudshiy1 Dec 15, 2023
9083128
Update readme.md
hudshiy1 Dec 15, 2023
81a74ae
Merge branch 'main' into task_03
hudshiy1 Dec 15, 2023
6e48746
Update main.py
hudshiy1 Dec 16, 2023
e2f966c
Update main.py
hudshiy1 Dec 16, 2023
b2142bd
Merge branch 'main' into task_03
hudshiy1 Dec 16, 2023
194985c
Update main.py
hudshiy1 Dec 17, 2023
88c2471
Update main.py
hudshiy1 Dec 17, 2023
88068bd
Update main.py
hudshiy1 Dec 17, 2023
e63e1c2
Merge branch 'main' into task_03
hudshiy1 Dec 17, 2023
63803d5
Update readme.md
hudshiy1 Dec 17, 2023
28625b3
Merge branch 'main' into task_03
hudshiy1 Dec 18, 2023
8549d52
Merge branch 'main' into task_03
hudshiy1 Dec 18, 2023
8b18e54
Merge branch 'main' into task_03
hudshiy1 Dec 19, 2023
b47d98f
Update main.py
hudshiy1 Dec 19, 2023
7e15a58
Merge branch 'main' into task_03
hudshiy1 Dec 19, 2023
559e1a5
Merge branch 'main' into task_03
hudshiy1 Dec 19, 2023
51fca3c
Merge branch 'main' into task_03
hudshiy1 Dec 20, 2023
d1374c5
Update main.py
hudshiy1 Dec 20, 2023
8805fe5
Update main.py
hudshiy1 Dec 20, 2023
f8c61ad
Merge branch 'main' into task_03
hudshiy1 Dec 20, 2023
c75c07e
Merge branch 'main' into task_03
hudshiy1 Dec 21, 2023
2944022
Update main.py
hudshiy1 Dec 22, 2023
badca66
Merge branch 'main' into task_03
hudshiy1 Dec 22, 2023
cf07be3
Update main.py
hudshiy1 Dec 22, 2023
0ba9330
Update report.md
hudshiy1 Dec 22, 2023
bd90cc0
Merge branch 'main' into task_03
hudshiy1 Dec 23, 2023
a638b85
Update main.py
hudshiy1 Dec 24, 2023
467c7f6
Update main.py
hudshiy1 Dec 24, 2023
104fc89
Merge branch 'main' into task_03
hudshiy1 Dec 24, 2023
a49601a
Update main.py
hudshiy1 Dec 24, 2023
036e5cd
Merge branch 'main' into task_03
hudshiy1 Dec 24, 2023
7b03e77
Update readme.md
hudshiy1 Dec 24, 2023
e6c4e74
Merge branch 'main' into task_03
hudshiy1 Dec 25, 2023
9199032
Update main.py
hudshiy1 Dec 26, 2023
9e6dfdd
Update main.py
hudshiy1 Dec 26, 2023
d47bff5
Update main.py
hudshiy1 Dec 26, 2023
2a43a26
Merge branch 'main' into task_03
hudshiy1 Dec 26, 2023
64437be
Update readme.md
hudshiy1 Dec 26, 2023
1b21b8b
Merge branch 'main' into task_03
hudshiy1 Dec 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
## Группа ИИ-23
| № | ФИО | Directory name | #0 | #1 | #2 | #3 | #4 | #5 | #6 | #7 | Рейтинг |
|----|------------------------------------------------------|-------------------------|----|-----|----|----|----|----|----|----|---------|
| 1 | Бусень Артём |[ii02301](trunk/ii02301) | ✅ | ✅ | ❌ | | ✅ | | | | 6|
| 1 | Бусень Артём |[ii02301](trunk/ii02301) | ✅ | ✅ | ❌ | | ✅ | | | | 6|
| 2 | [Волкогон Никита](https://github.com/VolkogonNikita) |[ii02302](trunk/II02302) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | 9|
| 3 | [Вышинский Артём](https://github.com/arciomwww) |[ii02303](trunk/ii02303) | ✅ | ✅ | ❌ | ❌ | | ✅ | | | 8|
| 4 | [Гавришук Владислав](https://github.com/VLadGavrishuk)|[ii02304](trunk/ii02304)| ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | | | 7|
Expand Down
Binary file added trunk/ii02301/task_03/doc/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added trunk/ii02301/task_03/doc/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
103 changes: 103 additions & 0 deletions trunk/ii02301/task_03/doc/report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<p align="center"> Министерство образования Республики Беларусь</p>
<p align="center">Учреждение образования</p>
<p align="center">“Брестский Государственный технический университет”</p>
<p align="center">Кафедра ИИТ</p>
<br><br><br><br><br><br><br>
<p align="center">Лабораторная работа №3</p>
<p align="center">По дисциплине “Общая теория интеллектуальных систем”</p>
<p align="center">Тема: “Разработка редактора графов”</p>
<br><br><br><br><br>
<p align="right">Выполнил:</p>
<p align="right">Студент 2 курса</p>
<p align="right">Группы ИИ-23</p>
<p align="right">Бусень А.Д..</p>
<p align="right">Проверил:</p>
<p align="right">Иванюк Д. С.</p>
<br><br><br><br><br>
<p align="center">Брест 2023</p>


---
# Задание: #
1. Разработать и реализовать программный продукт позволяющий
редактировать графовые конструкции различных видов и производить над
ними различные действия. Язык программирования - любой.

2. Редактор должен позволять (задания со **[\*]** являются необязательными):
a) одновременно работать с несколькими графами (MDI);
b) **[\*]** выделение одновременно нескольких элементов графа, копирование
выделенного фрагмента в clipboard и восстановление из него;
c) задавать имена графам;
d) сохранять и восстанавливать граф во внутреннем формате программы;
e) экспортировать и импортировать граф в текстовый формат (описание
см. ниже);
f) создавать, удалять, именовать, переименовывать, перемещать узлы;
g) создавать ориентированные и неориентированные дуги, удалять дуги;
h) добавлять, удалять и редактировать содержимое узла (содержимое в
виде текста и ссылки на файл);
i) задавать цвет дуги и узла, образ узла;
j) **[\*]** создавать и отображать петли;
k) **[\*]** создавать и отображать кратные дуги.

3. Программный продукт должен позволять выполнять следующие операции:
a) выводить информацию о графе:

+ количество вершин, дуг;
+ степени для всех вершин и для выбранной вершины;
+ матрицу инцидентности;
+ матрицу смежности;
+ является ли он деревом, полным, связанным, эйлеровым, **[\*]** планарным;

b) поиск всех путей (маршрутов) между двумя узлами и кратчайших;
c) вычисление расстояния между двумя узлами;
d) вычисление диаметра, радиуса, центра графа;
e) **[\*]** вычисление векторного и декартово произведения двух графов;
f) **[\*]** раскраска графа;
g) нахождения эйлеровых, [*] гамильтоновых циклов;
h) **[\*]** поиск подграфа в графе, со всеми или некоторыми неизвестными
узлами;
i) **[\*]** поиск узла по содержимому;
j) **[\*]** объединение, пересечение, сочетание и дополнение графов;
k) **[\*]** приведение произвольного графа к определенному типу с
минимальными изменениями:

+ бинарное и обычное дерево;
+ полный граф;
+ планарный граф;
+ связанный граф;

4. Формат текстового представления графа:
<ГРАФ> ::= <ИМЯ ГРАФА> : UNORIENT | ORIENT ; <ОПИСАНИЕ УЗЛОВ> ;
<ОПИСАНИЕ СВЯЗЕЙ> .
<ИМЯ ГРАФА> ::= <ИДЕНТИФИКАТОР>
<ОПИСАНИЕ УЗЛОВ> ::= <ИМЯ УЗЛА> [ , <ИМЯ УЗЛА> …]
<ИМЯ УЗЛА> ::= <ИДЕНТИФИКАТОР>
<ОПИСАНИЕ СВЯЗЕЙ> ::= <ИМЯ УЗЛА> -> <ИМЯ УЗЛА> [ , <ИМЯ УЗЛА> …] ;
[<ОПИСАНИЕ СВЯЗЕЙ> …]

5. Написать отчет по выполненной лабораторной работе в .md формате (readme.md). Разместить его в следующем каталоге: **trunk\ii0xxyy\task_03\doc** (где **xx** - номер группы, **yy** - номер студента, например **ii02301**).

6. Исходный код разработанной программы разместить в каталоге: **trunk\ii0xxyy\task_03\src**.
# Описание работы программы: #
## Окно программы
![Окно программы](1.png)

## Создаем вершины
![Создание вершин](2.png)

## Соединяем вершины ребрами
![Соединение ребрами](3.png)
![Соединение ребрами](4.png)

## Изменяем цвета вершин, ребер и передвигаем их
![Изменение цвета, передвижение](5.png)

## Можем сохранить граф во внутреннем формате или экспортировать в текстовый файл
![Сохранение, экспорт](6.png)

## Можем применить алгоритмы
![Алгоритмы](7.png)

## Можем построить граф по матрице смежности
![Построение по матрице смежности](8.png)

7 changes: 7 additions & 0 deletions trunk/ii02301/task_03/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.6)

project(OTIS_03)

set(SOURCES otis03.cpp)

add_executable(MExecutable3 ${SOURCES})
Loading