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

Вывести на экран вершины орграфа, смежные с данной

26.01.2015, 22:47. Показов 2151. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уффф, к завтрашнему дню нужно сдать эти задачи, помогите пожалуйста кто чем сможет
(следующие задачи через обходы в глубину и ширину)
3 Вывести на экран те вершины орграфа, смежные с данной

Добавлено через 10 часов 13 минут
Все еще актуально

Добавлено через 11 часов 28 минут
Все еще актуально
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2015, 22:47
Ответы с готовыми решениями:

Вывести на экран вершины орграфа, смежные с данной
Вывести на экран те вершины орграфа, смежные с данной, т.е. вывести "входящие" и "выходящие"...

Графы через списки смежности: вывести все вершины, не смежные с данной
вывести на экран все вершины не смежные с данной. код работает, но нужно еще вывести на экран:"все...

Для данной вершины орграфа вывести на экран все «выходящие» соседние вершины
Ребят, помогите пожалуйста сделать задачку на шарпе. Задание: Для данной вершины орграфа вывести на...

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

2
Заблокирован
26.01.2015, 23:45 2
Лучший ответ Сообщение было отмечено Vadic96 как решение

Решение

Vadic96, смотря, как хранятся вершины. Если в списке смежности, то выбираем такую структуру:
C++
1
std::vector < std::list < int > > edges;
вывод всех смежных вершин с вершиной u будет таким:
C++
1
2
for( int v : edges[ u ] )
    std::cout << v << " ";
//
если в виде матрицы смежности, то:
C++
1
std::vector < std::vector < int > > matEdges;
соответственно:
C++
1
2
3
for( int i = 0; i < n; ++i )
    if ( i != u )
        std::cout << matEdges[ u ][ i ] << " ";
1
0 / 0 / 1
Регистрация: 21.05.2012
Сообщений: 39
27.01.2015, 02:45  [ТС] 3
rocknrolla1, я написал программу, но она работает не очень корректно, не знаю в чем дело
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <fstream>
#include <stdio.h> 
#include <vector>
#include <string>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <sstream> //строковые потоки
 
using namespace std;
 
int main(){
 ifstream inp("input.txt");
 ofstream outp("output.txt");
 int n; 
 
 string str;
 int m1; //данная вершина
inp >> n;
 inp >> m1;
 vector <int> *vec = new vector <int> [n];
 
 getline(inp,str);
 for (int i = 0; i < n; i++){
 getline(inp,str);
 stringstream sio(str);
 int x;
 while (sio >>x)
 vec[i].push_back(x);
 }
 
 int k = 0;
 for (unsigned int i=0; i<vec[m1].size(); ++i){
 if ((i!= m1))
 {
 outp << vec[m1][i] << "\n";
 k++;
 }
 }
 if (k == 0) outp << " NET SMEZhNOSTI " << endl;
 }
0
27.01.2015, 02:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2015, 02:45
Помогаю со студенческими работами здесь

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

Не смежные вершины матрицы
Найти все не смежные вершины матрицы смежности.

Смежные вершины в ориентированном графе
Какие вершины называются смежными в ориентированном графе?

Реализация графа через смежные вершины
Здравствуйте. У меня есть задача- написать функции для графа через сопредельные вершины - добавить...


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

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