Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 5
1

Найти маршрут перелета из города А в город В, не содержащий города С

24.10.2014, 23:23. Просмотров 648. Ответов 1
Метки нет (Все метки)


Нужна помощь с написанием программы про пути в ориентированном графе.
Текст задания: Дан список пар городов, между которыми есть авиарейсы. Найти маршрут перелета из города А в город В, не содержащий города С.
У меня есть один вариант решения, но он не работает. Помогите исправить его так, чтобы он работал, или написать с нуля.

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
reys(Москва,Париж).  
reys(Москва,Нью_Йорк).  
reys(Москва,Владивосток).
reys(Париж,Лондон).  
reys(Париж,Нью_Йорк).  
reys(Нью_Йорк,Москва).
reys(Нью_Йорк,Сан_Франциско).    
reys(Нью_Йорк,Лондон).
reys(Владивосток,Сан_Франциско).  
reys(Сан_Франциско,Нью_Йорк).
 
path(A,B,[A|T]):-
          path1(A,B,[],T).
path1(A,B,_,[B]):-reys(A,B).
path1(A,B,K,[C|L]):-
          reys(A,C),
          not(member((C,B),K)),
          path1(C,B,[(C,B)|K],L).
 
marshrut(A,B,C,[A|T]):- path(A,B,[A|T]), not(member(C,[A|T])), unic([A|T]).
 
unic([]):-!.
unic([H|T]):-member(H,T),!,fail.
unic([_|T]):-!,unic(T).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2014, 23:23
Ответы с готовыми решениями:

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

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

Для 1-го города найти кратчайшие маршруты в остальные города
Имеется n городов. Некоторые из них соединены дорогами известной длины. Вся система дорог задана...

Найти кратчайший маршрут, начинающийся в 1-м городе и проходящий через все остальные города
Имеется n городов. Некоторые из них соединены дорогами известной длины. Вся система дорог задана...

1
Фрилансер
3680 / 2051 / 565
Регистрация: 31.05.2009
Сообщений: 6,684
25.10.2014, 23:23 2
Первая мысль - просто выкинуть из графа "лишнюю" вершину.
Например, написать новый предикат
Prolog
1
filtered_reys(X,Y,Z):-reys(X,Y), X<>Z, Y<>Z.
А потом просто искать путь в новом графе, как обычно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2014, 23:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Найти количество всевозможных маршрутов от города до города
Имеется n городов пронумерованных с 1 до n и m соединяющих дорог. Найти количество всевозможных...

Нахождение пути из города А в город Х
Написать программу нахождения пути из города А в город Х . Количество городов не менее 10....

Посчитать минимальную стоимость пути из города А в город Б
Есть массив городов .Из каждого города есть маршруты к другим городам .Выглядит этот массив так ...

Можно ли передать как нибудь интернет из города в город?
К примеру с Москвы в Ставрополь? Если такое оборудование чтоб передавало интернет как vpn...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.