Помогите создать программу. Граф, матрица смежности - найти вершины, из которых существует путь в заданную вершину

Нужно создать программу на языке c#

Помочь как? Что делать пробовали, что получилось, какие вопросы возникли?

Проблема в том, что я не сильна в программировании (мягко сказано), а задание надо сдать до 16:00((

Так это ж экзамен, надо было весь семестр становиться сильнее в программировании ) :nerd_face:

Вряд ли получится найти за пару часов кого-то, кто полностью сделает это за вас (даже платно), тем более если еще и какой-то графический интерфейс нужен.


Ну а если сами будете пытаться что-то сделать, то для начала можно разобраться что такое матрица смежности

То есть в простом случае это просто двумерный массив с 0 и 1.

image

В примере выше неориентированный граф, для ориентированного просто матрица будет не симметричной, например, в ячейке про путь из 4 в 6 есть единица, а в ячейке для пути из 6 в 4 может и не быть.

И потом видимо просто перебирать все вершины, с помощью этой матрицы проверяя есть ли из вершины путь в нужную.

Там есть решение,

только надо сперва с Дейкстрой разобраться
https://programm.top/c-sharp/algorithm/search/dijkstra-algorithm/

Nustya, вам похоже повезло.
Программа для построения графов C#
Код проекта не проверял, но по описанию похоже правильно.
И желателно не просто скопипастить, а разобраться с понятиями графов и матрицы смежности.

Тут кратчайший путь не просят. Для этого вроде есть алгоритмы проще (поиск в ширину/глубину, …). https://www.google.com/search?q=find+if+there+is+a+path+between+two+vertices+in+a+directed+graph

Вряд ли экзаменатор ожидает, что кто-то за пару часов сделает такую рисовалку графов :partyparrot:

Скорее просто ввод матрицы из таблицы и т.п.

А вот сама не знаю, у меня мысли взять ту прогу ахаха :birthdaypartyparrot:

С самой темой я разбираюсь, просто проги писать не умею (отец заставил поступить на программиста), вот сижу и мучаюсь)

Есть пример консольки, правда на плюсах:
Понятие и представление графа: матрица смежности, список смежности
и есть описание графа и смежностей.

P. S.

поверьте, когда научитесь Вам еще и нравиться будет. Не гуглить в поисках готового, а писать то что именно нужно со всеми хотелками.

Да, я понимаю это, надеюсь в будущем буду лучше в этом разбираться

Прокатит только если препод сжалится и поставит тройку за попытку хоть что-то нагуглить на тему графов ))

Там же вроде даже не реализована основная задача: проверка существования пути. Только ввод графа визуально, в 100500 раз сложнее минимально работающей программы для экзамена (либо сразу саму матрицу с 0/1 вводить, например, в DataGridView, либо поля ввода типа “номер вершины 1”, “номер вершины 2” + кнопка “Добавить ребро”, и при нажатии прописывать программно в нужную ячейку единицу).

Может что-б всем было норм, то забашлять за оценку? :money_with_wings: :money_with_wings: :money_with_wings: Какая сейчас такса?

Кому, экзаменатору?
Так ТС как бы пытается учиться. По крайней мере папа убедил учиться :slight_smile: