![]() |
|
|
![]()
|
|
| temnenkaja |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.3.2009 Репутация: нет Всего: нет |
Программа выполняет поиск расположения ладей, при котором ни одна не бьет другую
Результатом является список пар координат месторасположения на доске, но его надо преобразовать в таблицу, которая представляет собой доску, т.е. места, где отсутствует фигура обозначаются как "_", где есть "Х". Помогите выполнить преобразование: DOMAINS intlist=integer* castlelist=castle* castle=c (integer,integer) PREDICATES solution (castlelist, intlist) notbeat (castle, castlelist) belongs (integer, intlist). template2 (castlelist) template3 (castlelist) template4 (castlelist) template5 (castlelist) template6 (castlelist) template7 (castlelist) template8 (castlelist) genlist (integer, integer, intlist, intlist) select (integer, castlelist) start CLAUSES solution ([ ], Reslist). solution ([c (X,Y)|Rest],Reslist):- solution (Rest,Reslist), belongs (Y, Reslist) , notbeat (c (X,Y),Rest). notbeat (_,[ ]):-!. notbeat (c (X,Y), [c (X1,Y1)|Rest]):- Y<>Y1, notbeat (c (X,Y), Rest). belongs (X, [X|L]). belongs (X, [Y|L]):- belongs (X,L). template2 ([c (1,Y1),c (2,Y2)]). template3 ([c (1,Y1),c (2,Y2),c (3,Y3)]). template4 ([c (1,Y1),c (2,Y2),c (3,Y3),c (4,Y4)]). template5 ([c (1,Y1),c (2,Y2),c (3,Y3),c (4,Y4),c (5,Y5)]). template6 ([c (1,Y1),c (2,Y2),c (3,Y3),c (4,Y4),c (5,Y5),c (6,Y6)]). template7 ([c (1,Y1),c (2,Y2),c (3,Y3),c (4,Y4),c (5,Y5),c (6,Y6),c (7,Y7)]). template8 ([c (1,Y1),c (2,Y2),c (3,Y3),c (4,Y4),c (5,Y5),c (6,Y6),c (7,Y7),c (8,Y8)]). select(FS, X):- FS=2, template2(X); FS=3, template3(X); FS=4, template4(X); FS=5, template5(X); FS=6, template6(X); FS=7, template7(X); FS=8, template8(X),exit(0). genlist (FS, 0, Reslist, Reslist):-!. genlist(FS, N, Tmplist, Reslist):- Tmp2list=[N|Tmplist], N2=N-1, genlist(FS, N2, Tmp2list, Reslist). start:-write ("Write N (from 2 to 8), N="),readint(N),nl,genlist(1, N, [],Reslist),select (N, X), solution(X,Reslist),nl,write (X),fail, nl. start. |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |