Форум программистов, компьютерный форум CyberForum.ru

Не рекурсивный обход графа в глубину - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить функцию f(x), используя ее разложение в степенной ряд (дорешать) http://www.cyberforum.ru/cpp-beginners/thread1130534.html
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в трех случаях: а) для заданного n; б) для заданной точности е (е=0.0001); с) для «точного» значения (по аналитической формуле). Для сравнения найти относительную погрешность вычисления функции значение функции о_погр = ABS( (точ_знач – приближ_знач)/ точ_знач)...
C++ Разделить строки на мелкие части Помогите реализовать такую вещь: Пользователь вводит слова через запятую (one,two,three,four,five,six), программа же записывает каждое слово в отдельную строку (аналог String split по запятой в ArrayList - на Джаве). И есть ли split вообще в C++? http://www.cyberforum.ru/cpp-beginners/thread1130523.html
C++ Матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами
Помогите решить задачу: Задана матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами. Буду очень благодарен.
C++ Отсутствие библиотеки sScrollBar.hpp мешает запуску проекта
Здравствуйте, я столкнулся со следующей проблемой: наткнулся я как-то в сети на проект, написанный в борланде 2009, в котором есть функционал, очень необходимый мне. Я его скачал, скачал и сам борланд 2009, чтобы запустить его. Открыл файл проекта и нажал заветную клавишу F9. Но к моему сожалению, построение проекта не было выполнено по причине того, что не была найдена библиотека sScrollBar.hpp....
C++ Изменение размеров консольноо окна http://www.cyberforum.ru/cpp-beginners/thread1130489.html
Готовил лабораторную работу по программированию. Там небольшая программа запускаемая в консольном окне . Проблема заключается в следующем ... программа выводит на экран кое-какую информацию ... её довольно много и она вся не влезает в окне консольном ... дома у меня эта проблема решается обычным нажатием кнопки "развернуть окно" ...консолька открывается во весь экран и текст(выводящийся на экран)...
C++ Скажите, что делает данный код? Решил немного поэкспериментировать и столкнулся с чем-то новым и непонятным для меня. Что делает этот код? Что он выводит и в зависимости от чего? #include <iostream> #include "conio.h" using namespace std; int main() { int n; cout<<(cin>>n); getch(); подробнее

Показать сообщение отдельно
onlwork
1 / 1 / 0
Регистрация: 10.11.2013
Сообщений: 53
26.03.2014, 18:47     Не рекурсивный обход графа в глубину
доброго времени суток. Запутался, помогите разобраться и исправить ошибку (

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
void OrGraph::dfs(int v){
    int n = GetCount(); // получаем количество вершин
    int *a = new int[n];
    for (int i = 0; i < n; i++){
        *(a + i) = 1;
    }
    int k = numberTop(v);// кладем в к номер вершины v
    int u = 0 ,b = 0,it;
    Stack s;
    *(a + k) = 0;
    s.Push(v); //в стек записываем произвольную вершину
    while(!s.Emty()){//проверяем, пока не пуст стек
        b = 1;
        it = s.Pop();//просматриваем вершину из стека
        for (Org *current = first; current && b && u<n;){
        if((HasArc(it,recoverTopForTop(u)) && (*(a + u)))) b = 0; //HasArc - существует ли дуга из А в В
//recoverTopForTop - берем вершину с номером u
        else{
            u++;
            current = current -> next;
        }
        if(!b){
            s.Push(recoverTopForTop(u));
            std::cout<<recoverTopForTop(u)<<" ";
            *(a + u) = 0;
        }
        else
            s.Pop();
        }
        
    }
 
}
Граф представлен вот так

C++
1
2
3
4
5
6
7
8
9
10
struct Org {
        int begin, end;
        Org *next;
        Org(char b, char e, Org *n = NULL){
            begin = b; end = e;
            next = n;
        }
    };
 
    Org *first, *last;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru