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

Commit

Permalink
Merge branch 'main' into lab_4
Browse files Browse the repository at this point in the history
  • Loading branch information
VolkogonNikita authored Dec 18, 2023
2 parents 98bc6d4 + 677c4f1 commit ff42018
Show file tree
Hide file tree
Showing 33 changed files with 2,190 additions and 3 deletions.
6 changes: 3 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
| 5 | Глухарев Даниил |[ii02305](trunk/ii02305) ||||| | | | | 7|
| 6 | [Колеснев Антон](https://github.com/Flugel228) |[ii02307](trunk/ii02307) |||||| | | | 7|
| 7 | [Кононов Алексей](https://github.com/madebyth00 |[ii02309](trunk/ii02309) ||||| | | | | 6|
| 8 | [Копач Александр](https://github.com/AtticaQQ) |[ii02308](trunk/ii02308) |||| || | | | 6|
| 8 | [Копач Александр](https://github.com/AtticaQQ) |[ii02308](trunk/ii02308) |||| || | | | 6|
| 9 | Кунц Александр | ||||| | | | | |
| 10 | [Лапин Владимир](https://github.com/LapinVladimir) |[ii02310](trunk/ii02310) |||||| | | | 8|
| 11 | [Привезенцев Михаил](https://github.com/MishanyPrivezentsev)| ||||| | | | | |
Expand All @@ -33,8 +33,8 @@
| 14 | [Макаревич Никита](https://github.com/sosiska52) |[ii02314](trunk/ii02314) |||||| | | | 7|
| 15 | Маслакова Ксения | ||||| | | | | |
| 16 | [Медведь Павел](https://github.com/Dizzers) |[ii02316](trunk/ii02316) |||||| | | | 8|
| 17 | Новицкая Вероника |[ii02317](trunk/ii02317) ||| || | | | | 6|
| 18 | Осипова Алла | |||| | | | | | |
| 17 | Новицкая Вероника |[ii02317](trunk/ii02317) ||| || | | | | 6|
| 18 | Осипова Алла | |||| | | | | | |
| 19 | [Палто Елена](https://github.com/AlenaSokol) |[ii02319](trunk/ii02319) |||||||| |(научная работа) 10|
| 20 | [Романюк Алексей](https://github.com/Gomziakoff) |[ii02320](trunk/ii02320) ||||||| | | 9|
| 21 | [Скварнюк Давид](https://github.com/Bidway) |[ii02321](trunk/ii02321) ||||||| | | 9|
Expand Down
71 changes: 71 additions & 0 deletions trunk/ii02308/task_03/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
cmake_minimum_required(VERSION 3.5)

project(Graph VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)

set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
)

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(Graph
MANUAL_FINALIZATION
${PROJECT_SOURCES}
graph.h graph.cpp graph.ui
)
# Define target properties for Android with Qt 6 as:
# set_property(TARGET Graph APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
if(ANDROID)
add_library(Graph SHARED
${PROJECT_SOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_executable(Graph
${PROJECT_SOURCES}
)
endif()
endif()

target_link_libraries(Graph PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
if(${QT_VERSION} VERSION_LESS 6.1.0)
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.Graph)
endif()
set_target_properties(Graph PROPERTIES
${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)

include(GNUInstallDirs)
install(TARGETS Graph
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(Graph)
endif()
62 changes: 62 additions & 0 deletions trunk/ii02308/task_03/doc/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<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">Kопач А.В.</p>
<p align="right">Проверил:</p>
<p align="right">Иванюк Д. С.</p>
<br><br><br><br><br>
<p align="center">Брест 2023</p>


---
Целью данного программного продукта является обеспечение удобного взаимодействия с графами, позволяя пользователю выполнять различные операции, такие как работа с несколькими графами одновременно, задание имен графам, сохранение и восстановление графов, экспорт и импорт графов в текстовый формат, а также выполнение разнообразных операций над вершинами и дугами графа.

# Работа с несколькими графами (MDI)
![Снимок экрана 2023-12-17 232854](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/2253a71a-d379-4592-81c4-c9c8fe0fffd0)

Программа поддерживает работу с несколькими графами одновременно с использованием механизма Multiple Document Interface (MDI). Это обеспечивает удобную организацию рабочего пространства и позволяет пользователям легко манипулировать несколькими графами.

# Задание имен графам
![Снимок экрана 2023-12-15 230003](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/2774fd1c-2741-4b66-b40c-192f13317cbe)

Пользователь имеет возможность задавать имена графам при их создании. Это улучшает навигацию и идентификацию графов при работе с несколькими экземплярами.

# Сохранение и восстановление графов

Программа предоставляет функциональность сохранения графов во внутреннем формате программы. Это позволяет пользователям сохранять текущее состояние графа и восстанавливать его позже.

# Экспорт и импорт графов в текстовый формат

![Снимок экрана 2023-12-17 233053](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/7c12f1b4-a992-4332-a552-02a762596f1d)

Программа позволяет экспортировать и импортировать графы в текстовый формат. Это облегчает обмен графами между пользователями и интеграцию с другими инструментами.

# Работа с узлами и дугами
![Снимок экрана 2023-12-17 232910](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/b42b08e1-34bd-4684-814b-fd116fcf7017)

Создание, удаление, именование, переименование, перемещение узлов.
Создание ориентированных и неориентированных дуг, их удаление.
Добавление, удаление и редактирование содержимого узла в виде текста или ссылки на файл.
Задание цвета дуги и узла.
# Вывод информации о графе

![Снимок экрана 2023-12-17 233141](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/4dfa54cb-200e-465e-82d2-1bf83f7fe240)

Количество вершин и дуг в графе.
Степени для всех вершин и выбранной вершины.
Матрица инцидентности и смежности.

# Заключение

Программный продукт обеспечивает удобный и многофункциональный инструмент для работы с графами, предоставляя широкий набор операций для создания, редактирования и анализа графов. Пользователи могут эффективно взаимодействовать с графами и выполнять различные операции для анализа и визуализации их структуры и свойств.
---

Loading

0 comments on commit ff42018

Please sign in to comment.