написать программу на C# + windows forms + net framework 4.7.2
Программа высвечивает меню: "выберите вариант задачи"
вариант 1
вариант 2(контрольный)
вариант 3
и строчка где пользователь вводит количество итераций, куда можно вписать любое число не больше 1000(называется количество итераций)
при нажатии кнопки с вариантом запускается отрисовка графа:
#отрисовка графа следующим образом:
>вершина - это кружочек с номером
>ребро от центра одной вершины к другой, в центре каждого ребра подписывается его вес(целое число, не 0)
>веса графов берутся из матрицы смежности
~>потом алгоритм выполняет работу. Алгоритм должен быть независимым от windows forms, ну типа чтобы я его мог заменить на свой
##алгоритм работает следующим образом:
1)присваивается случайное число "groupN" от 1 до n // 2 (целочисленное деление без остатка), где n - количество вершин
2)количество групп groupN должно быть больше 1
3)в каждой группе должно быть больше 1-ой вершины(2, 3, 100 и тд)
4)потом все вершины случайно разбиваются по groupN количеству групп, при этом каждая вершина может принадлежать только одной группе
5)считается сумма весов рёбер между элементами 1-ой и 2-й группы, 1-ой и 3-й группы, 2-й и 3-й группы(зависит от количества groupN) и суммируется в одно число
6)если сумма весов меньше чем в предыдущей итерации, то записывать наилучший вариант распределения по группам и это число
7)повторить пункт 1-6 сто раз(число задаётся пользователем в начале формы, где выбор вариантов)
8)!вывести на экран граф и справа написано по группам номера вершин которые принадлежат к 1, 2, 3 группе и т.д.
каждый отдельный файл это отдельный вариант графа в виде матрицы смежности:
пример формата файла
4
0 7 0 1
7 0 1 0
0 1 0 3
1 0 3 0
4 это число вершин
а дальше матрица смежности с весами рёбер
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |