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

Не работает рекурсивная функция - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти число в целочисленных неубывающих массивах http://www.cyberforum.ru/cpp/thread1846925.html
Некоторое число содержится в каждом из трех целочисленных неубывающих массивов x <= ... <= x, y <= ... <= y, z <= ... <= z. Найти одно из таких чисел. Число действий должно быть порядка p + q + r. Как задать неубывающий массив?
C++ C++ to C converter (OOP C) Всем привет! Не встречал ли кто подобного конвертера, который может код на языке высокого уровня конвертировать в Си-шный код (плохочитаемый, для выкладки в качестве опенсорца для любопытных и для любителей резюме с открытым кодом ). Есть мысль, что кто-то пользуется. Про существование конвертеров C++ to C# (из одного высокоуровневого ООП языка в другой знаю), код получается рабочий, но... http://www.cyberforum.ru/cpp/thread1846824.html
Как записать формулы? C++
Нужно написать программу для вычисления а и b,используя эти формулы.
Найти количество разреженной матрицы различных элементов и вывести их на экран C++
Добрый день! Задали такую лабу: Дана разреженная структурно симметричная матрица. Найти количество её различных элементов и вывести их на экран
C++ H323Plus + PTLib: PDU Read Error: Timed Out на приемном канале http://www.cyberforum.ru/cpp/thread1845334.html
Здравствуйте товарищи, помогите кто чем может разобраться с ошибкой. Анамнез: Есть самописная софтина которая должна осуществлять телефонную связь с удаленным терминалом по протоколу H.323. При подключении к удаленному терминалу открываются два канала: приемный и передающий, при этом связь по передающему каналу работает, а вот приемный канал сообщает посредством h323pdu.cxx: h323pdu.cxx...
C++ Структура с не известными переменными Добрый вечер. Допустим есть структура (не моя) с некоторыми переменными. Можно ли сделать свою структуру, но, при этом заранее указать переменным этой структуры нужное смещение? Пример: struct UnkStruct { long long SenderGuid; unsigned int Unk; char FormattedMessage; подробнее

Показать сообщение отдельно
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 164
10.11.2016, 17:14     Не работает рекурсивная функция
Алгоритм Дейкстры. У вас каждая вершина графа связана с 4 соседними или меньше, если есть препятствия. И цена шага везде 1.

Добавлено через 26 минут
Единственно можно немного упростить, можно убрать проверку на сумму длин, потому что он равен шагу алгоритма (из-за того, что все ребра 1), а каждый посещенный узел отмечается флагом out уже на следующем шаге. Алгоритм завершает работу когда не остаётся узлов помеченных как visited и при этом не помеченных как out (иначе говоря цикл идет по узлам visited, но только по тем которые не получили флаг out в самом начале все флаги сброшены и только у стартовой точки visited). Могут остаться узлы не помеченные как visited, если препятствия их окружили, для того, чтобы отличать их от стартовой точки, стоит назначить параметру длина пути некоторое начальное значение -1 например, а стартовая точка 0 будет.

Добавлено через 4 минуты
вместо флага visited можно сравнивать значение поля с шагом цикла, а out тогда значение меньше этого шага. (упрощение которое следует опять из-за того, что все ребра 1)

Добавлено через 5 минут
Для того чтобы не бегать по всему массиву и сравнивать его с номером шага алгоритма, можно номера ячеек которые получили свой параметр длины пути в другой массив складывать. (это уже оптимизации)
 
Текущее время: 23:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru