Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Функция расчёта НОД Дано N натуральных чисел. Найти их наибольший делитель, используя алгоритм Евклида и учитывая, что НОД(a,b,c)=НОД(НОД(a,b)c). Определить функцию расчёта НОД для двух натуральных чисел, а затем с её помощью НОД для всех N-чисел. https://www.cyberforum.ru/ cpp-beginners/ thread2448292.html Определить количество одно-, двух- и трёхзначных чисел в последовательности C++
В файле записана последовательность произвольных целых чисел. Определить количество одно-, двух- и трёхзначных чисел в последовательности. В программе должна быть написана и использована функция, возвращающая количество знаков числа, преданного ей в качестве аргумента. Результаты работы программы вывести в файл
C++ Односвязный список. Реализовать член-функцию «получение элемента с заданным порядковым номером» Как реализовать подобное задание? Узел списка Комната с член-данными ширина (float), длина (double) и цвет стен (char *). Реализовать член-функцию «получение элемента с заданным порядковым номером» Буду очень благодарен. https://www.cyberforum.ru/ cpp-beginners/ thread2448276.html C++ Подскажите как сделать максимальное отрицательное число https://www.cyberforum.ru/ cpp-beginners/ thread2448273.html
подскажите мне , как мне найти в массиве максимальное отрицательное число , как мне его найти и вывести? #include "pch.h" #include <iostream> #include <conio.h> #include <math.h> #include<ctime> #include <cmath> #include <iomanip> using namespace std; * int main() { * * setlocale(LC_ALL, "Russian"); * * int *A,v,T,n, i,max,imax; * * cout << "Задайте число * "; * * n=10; * * * * A = new int; *...
C++ Для каждого числа найти количество его делителей и определить общее количество простых чисел в последовательности
С клавиатуры вводится последовательность целых чисел, 0 - конец этой последовательности. Для каждого числа найти количество его делителей и определить общее количество простых чисел в последовательности.
C++ Скорость отрисовки и задача "Ход коня" https://www.cyberforum.ru/ cpp-beginners/ thread2448263.html
Здравствуйте, когда запускаю программу, то уже более 80% ходов сразу отрисованы, а остальные рисуются очень быстро. Можно как то замедлить этот визуальный процесс? Использую OpenGL И еще когда ставлю значение доски больше 60, то конь не находи путь и заходит в тупик, в чем может быть проблема? #include <stdlib.h> #include <GL/glut.h> #include <vector> #include <map> using namespace std;
C++ Найти максимальный элемент одномерного массива https://www.cyberforum.ru/ cpp-beginners/ thread2448251.html
В одномерном массиве, состоящем из n вещественных элементов, вычислить максимальный элемент массива
Работа со строками C++
Помогите с заданием ПС))) Даны 4 последовательности, каждая из 3 - х символов и текст, заканчивающийся точкой.Если в тексте встречаются подряд 1 - я и 2 - я последовательности, то заменить их на 3 - ю и 4 - ю, если подряд 1 - я и 3 - я, то заменить их на 4 - ю и 2 - ю, если встречается 4 - я, то удалить ее.Вывести полученный текст.
C++ Вычислить сумму тех элементов массива, величина которых не превышает 2.5 Задача на массив https://www.cyberforum.ru/ cpp-beginners/ thread2448244.html C++ Создание программы "кредитной организации" https://www.cyberforum.ru/ cpp-beginners/ thread2448239.html
вот. В общем нужно создать класс ,в котором будет 10 объектов и создать методы ,указанные в текстовом файле.
Условная компиляция C++
Помогите мне понять ,что я делаю не так. Есть программа, которая проверяет введённое пользователем число и в зависимости от значения выводит логическую ветку. Оригинальный текст задачи: Используя один и тот же идентификатор объявить цифровой и символьный массивы. Для цифрового массива определить количество повторений каждого числа. Для символьного массива найти позицию и значение символа по...
C++ Отсортировать быстрой сортировкой, множество одинаковых чисел в исходном файле Здравствуйте, есть задание с помощью быстрой сортировки отсортировать числа. Но когда есть много одинаковых чисел, программа работает неправильно, потому хотелось бы узнать, правильно ли я обошла это момент? Правильно ли реализован алгоритм быстрой сортировки? При этом считывается с файла информация, записывается результат в другой. Исходный код с моими идеями обхода неправильной работы,... https://www.cyberforum.ru/ cpp-beginners/ thread2448200.html
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
06.05.2019, 12:04  [ТС] 0

Поиск сильных связностей в орграфе - C++ - Ответ 13547909

06.05.2019, 12:04. Показов 2289. Ответов 6
Метки (Все метки)

Ответ

Я прошу рабочее решение, а не бред. Этот код и так есть в куче других сайтов. Я его и до этого пытался использовать, только он выводит фигню какую-то.
Если вы не знаете ничего про этот алгоритм - не надо писать в этой теме.

Добавлено через 7 минут
Окей, тогда всего лишь один вопрос: что такое "вывод очередной компоненты"? Покажите мне реализацию кодом этой строчки, и я отстану.

Алгоритм:
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
42
43
44
vector < vector<int> > g, gr;
vector<char> used;
vector<int> order, component;
 
void dfs1 (int v) {
    used[v] = true;
    for (size_t i=0; i<g[v].size(); ++i)
        if (!used[ g[v][i] ])
            dfs1 (g[v][i]);
    order.push_back (v);
}
 
void dfs2 (int v) {
    used[v] = true;
    component.push_back (v);
    for (size_t i=0; i<gr[v].size(); ++i)
        if (!used[ gr[v][i] ])
            dfs2 (gr[v][i]);
}
 
int main() {
    int n;
    ... чтение n ...
    for (;;) {
        int a, b;
        ... чтение очередного ребра (a,b) ...
        g[a].push_back (b);
        gr[b].push_back (a);
    }
 
    used.assign (n, false);
    for (int i=0; i<n; ++i)
        if (!used[i])
            dfs1 (i);
    used.assign (n, false);
    for (int i=0; i<n; ++i) {
        int v = order[n-1-i];
        if (!used[v]) {
            dfs2 (v);
            ... вывод очередной component ...
            component.clear();
        }
    }
}


Вернуться к обсуждению:
Поиск сильных связностей в орграфе C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2019, 12:04
Готовые ответы и решения:

Поиск циклов в орграфе
Добрый день! Помогите, пожалуйста, разобраться с задачей. Имеется ориентированный граф....

Поиск целей, циклов в орграфе
Для произвольного ориентированного графа разработать алгоритм и составить программу, позволяющую...

Поиск сильно связных компонент в орграфе
Для поиска использовал Алгоритм Косарайю. Зашел в тупик, проблема в том, что с обычным графом...

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

6
06.05.2019, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2019, 12:04
Помогаю со студенческими работами здесь

Матрица сильных компонентов
Прошу помощи, одну вещь осталось сделать, чтобы лабу дописать. У меня есть матрица квадратная...

Однократное проявление сильных стуков жесткого диска
В мое отсутствие комп перезагрузился. После повторного входа в Win7 стали слышны какие то глухие...

Вычисление сильных компонент орграфа. Алгоритм Габова.
Помогите, пожалуйста, найти инфу по этой теме. В интернете никак не могу отыскать, а если и нахожу,...

Нахождения цикла в орграфе
Задан орграф списком смежности, при этом его вершинами являются строчные латинские символы....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru