Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
1 / 1 / 1
Регистрация: 09.03.2014
Сообщений: 8
1

Добавить в граф ребро, соединяющее вершины u и v

04.05.2014, 13:21. Показов 5211. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня, друзья!)
Нужно решить задачку, но, к сожаления, не знаю даже с какой стороны подойти, тк с графами ранее не сталкивался. Не могли бы вы помочь решением или идеей как это можно сделать.

Дан граф из N вершин, заданный списком смежности. Необходимо добавить в него ребро, соединяющее вершины u и v и Вывести вершины смежные с u и смежные с v.

Ввод и вывод осуществляется с помощью файла.
В первой строке входного файла записано число N. Следующие N строк имеют следующую структуру: первое число в строке - номер вершины, затем через пробел перечислены смежные с ней вершины. В последней строке через пробел записаны номера вершин u и v.

Вход
4
1 2
2 1 3
3 2 4
4 3
1 3
Выход
2 3
1 2 4
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2014, 13:21
Ответы с готовыми решениями:

Вставить в неориентированный граф ребро, соединяющее вершины a и b
Создать граф, используя список смежности. Дан неориентированный граф. Вставить в граф ребро,...

Задача на графы. Удалить ребро, соединяющее вершины a и b
Дан граф, состоящий из N вершин и заданный списком смежности. Удалить ребро, соединяющее вершины a...

Граф задан своей матрицей смежностей, вывести на экран все связные вершины
Граф задан своей матрицей смежностей. Вывести на экран все связные вершины...очень скоро...

Дан ориентированный взвешенный граф. Найдите кратчайшее расстояние от одной заданной вершины до другой
В первой строке содержатся три числа: N, S и F (1≤N≤100, 1≤S,F≤N), где N — количество вершин графа,...

3
25 / 25 / 12
Регистрация: 04.01.2014
Сообщений: 91
04.05.2014, 14:02 2
metaline, У тебя есть граф, заданный списком смежности, т. е. есть список вершин графа, а в каждой вершине хранится список инцидентных ей ребер (т. е. фактически, в каждой вершине хранится список указателей на ее смежные вершины). Если ты имел дело со связными списками, то решение задачки не составит для тебя труда.

В твоей программе тебе понадобится:
1) найти вершины u и v в списке вершин (в цикле просматриваешь все вершины, пока не наткнешься на вершину с нужным номером);
2) добавить ребро между вершинами u и v (т. е. в список ребер, инцидентных вершине u добавить элемент: ребро с указателем на вершину v и наоборот);
3) В цикле просмотреть списки ребер, инцидентных вершинам u и v, и вывести номера смежных вершин.
0
1 / 1 / 1
Регистрация: 09.03.2014
Сообщений: 8
04.05.2014, 20:33  [ТС] 3
__General__ спасибо большое за подсказку. но у меня есть еще вопрос, а именно, как считывать данные из файла, ведь они будут читаться сплошняком, и как отделить например номер вершины, от номеров смежной ей.
0
25 / 25 / 12
Регистрация: 04.01.2014
Сообщений: 91
05.05.2014, 15:27 4
metaline, Ну например можно вместо того, чтобы считывать числа с помощью cin, считать данные из файла в массив символов с помощью getline(...). Это немного хлопотно, зато считаются все символы, включая пробелы и символ перехода на следующую строку. А из условия задачи мы знаем, что первое число после символа перехода на следующую строку - это номер самой вершины, а все последующие номера вершин до следующего символа перехода на следующую строку - номера вершин, смежных ей.
0
05.05.2014, 15:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2014, 15:27
Помогаю со студенческими работами здесь

Граф задается своей матрицей смежностей вывести на экране окружения каждой его вершины
Привет, ребят! Прошу Очень помочь! Граф задается своей матрицей смежностей. Вывести на экране...

Дана матрица смежности и неориентированный граф. Выяснить соседствуют ли две вершины с данными номерами с одной общей вершиной
народ помогите пожалуйста написать программу на с++ на графы дана матрица смежности и...

Подскажите как добавить элемент в стек и вывести адрес новой вершины стека
Dynamic3 . Дано число D и указатель P1 на вершину непустого стека. Добавить элемент со значением D...

Добавить в граф ребро, соединяющее вершину а и b для взвешенного графа
В входном файле указывается количество вершин графа/орграфа и матрица смежности.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru