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

Поиск кратчайшего пути

14.11.2014, 14:33. Показов 647. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо найти по атласу автомобильных дорог кротчайший путь из пункта А в пункт B. Я совсем не шарю, что посоветуете изучить для решения задачи? Слышал об алгоритме Дейкстры, но в коде типа этого
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
45
46
47
#include <iostream>
using namespace std;
const int V=22;
//алгоритм Дейкстры
void Dijkstra(int GR[V][V], int st)
{
int distance[V], count, index, i, u, m=st+1;
bool visited[V];
for (i=0; i<V; i++)
{
 distance[i]=INT_MAX; visited[i]=false;
}
 distance[st]=0;
for (count=0; count<V-1; count++)
{
int min=INT_MAX;
for (i=0; i<V; i++)
if (!visited[i] && distance[i]<=min)
{
 min=distance[i]; index=i;
}
 u=index;
 visited[u]=true;
for (i=0; i<V; i++)
if (!visited[i] && GR[u][i] && distance[u]!=INT_MAX &&
 distance[u]+GR[u][i]<distance[i])
 distance[i]=distance[u]+GR[u][i];
}
cout<<"stoimost puti iz nachalnoi vershini do ostalnih\t\n";
for (i=0; i<V; i++) if (distance[i]!=INT_MAX)
cout<<m<<" > "<<i+1<<" = "<<distance[i]<<endl;
else cout<<m<<" > "<<i+1<<" = "<<"marshrut nedostupen"<<endl;
}
//главная функция
void main()
{
 setlocale(LC_ALL, "Rus");
int start, GR[V][V]={
{0, 1, 4, 0, 2, 0},
{0, 0, 0, 9, 0, 0},
{4, 0, 0, 7, 0, 0},
{0, 9, 7, 0, 0, 2},
{0, 0, 0, 0, 0, 0}};
cout<<"nachalnaya vershina >> "; cin>>start;
 Dijkstra(GR, start-1);
system("pause>>void");
}
(и других, найденных в интернете), вычисляется длина от одной до всех, а мне нужны конкретные пункты, да и навания дуг в ответе.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2014, 14:33
Ответы с готовыми решениями:

Поиск кратчайшего пути
Как сделать что бы задача не считала стоимость проезда в обратную сторону ? #include &lt;cstdlib&gt; ...

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

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

Поиск кратчайшего пути на графе
Выдает ошибку Error 1 error C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use...

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

Поиск кратчайшего пути (рекурсия)
Помогите пожалуйста. Пусть имеется n городов. Некоторые из них соединены дорогами известной длины....

Нахождение кратчайшего пути, поиск с возвратом
Описание проблемы: Есть матрица MxN, на матрицы есть дом школьника и школа. Школьник может...

Поиск кратчайшего пути на клетчатом поле.
Дано клетчатое поле (допустим n x n). На некоторые клетки наступать нельзя. Дана начальная клетка,...

Поиск кратчайшего пути в матрице через рекурсию
Есть задача: найти кратчайший путь в матрице,представляющий из себя сумму значений ее элементов....


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

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