Этот проект представляет собой приложение Windows Forms, написанное на C++/CLI, предназначенное для генерации неориентированных графов без петель. Приложение позволяет пользователям указывать количество вершин, генерировать симметричную матрицу смежности и визуализировать граф на основе этой матрицы.
- Ввод количества вершин: Позволяет пользователю указать количество вершин (от 1 до 20).
- Генерация матрицы смежности: Генерирует симметричную матрицу смежности для неориентированного графа. Матрица содержит 1 и 0, где
A[i][j] = 1
, если вершиныi
иj
соединены иi != j
, в противном случаеA[i][j] = 0
. - Визуализация графа: Рисует граф в соответствии с матрицей смежности. Вершины располагаются на окружности заданного радиуса.
- Ручное добавление ребер: Пользователи могут вручную добавлять ребра, щелкая по вершинам на визуализации графа.
- Microsoft Visual Studio с поддержкой C++/CLI.
- .NET Framework.
- Клонируйте репозиторий.
- Откройте файл решения в Microsoft Visual Studio.
- Постройте решение в Visual Studio.
- Запустите приложение.
- Установить количество вершин: Введите количество вершин в текстовое поле с меткой "Число вершин графа (n)" и нажмите кнопку "Граф" для генерации графа.
- Добавить вершину: Нажмите кнопку "Добавить вершину", чтобы увеличить количество вершин и обновить граф.
- Ручное добавление ребер: Щелкните по двум вершинам на визуализации графа, чтобы добавить ребро между ними. Матрица смежности будет обновлена соответственно.
- Отображение матрицы смежности: Матрица смежности отображается с выделенными единицами, указывающими на наличие ребер.
- Класс MyForm: Основная форма приложения, содержащая все элементы интерфейса и обработчики событий.
- InitializeComponent(): Инициализирует UI компоненты.
- buttonCreate_Click: Обрабатывает событие нажатия на кнопку "Граф" для генерации графа.
- addDot_Click: Обрабатывает событие нажатия на кнопку "Добавить вершину" для добавления вершины.
- GenerateGraph(): Генерирует матрицу смежности и рисует граф.
- DrawGraph(): Рисует граф на основе матрицы смежности.
- graphBox_MouseClick: Обрабатывает события щелчка мыши на графе для ручного добавления ребер.
- Количество вершин: 7
- Матрица смежности:
0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0
- Визуализация графа: Граф с вершинами, расположенными на окружности, соединенными в соответствии с матрицей смежности.
- Язык: C++/CLI
- Фреймворк: .NET Framework
- IDE: Microsoft Visual Studio
Этот проект лицензирован по лицензии MIT.