![]() |
|
|
![]()
|
|
| strikelon88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.10.2009 Репутация: нет Всего: нет |
помогите пожалуйста сделать два списка по прологу.
1)intersection(List1,List2,intersection) Список intersection включает в себя элементы общие для списков List1 и List2 2)token(Token,List,Delimiters) token представляет собой подсписок списка List ограниченный началом и концом списка и символами указанными в списке delimiters. |
|||
|
||||
| Грымзик |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 7.10.2009 Репутация: 6 Всего: 6 |
Не очень понятно: intersection включает в себя одинаковые элементы на
одинаковых местах, тогда ?- intersection([1,2,3,5,5],[5,4,3,5,5,1],X), write(X), nl, fail. intersection(_,[],[]). intersection([],_,[]). intersection([X|Tail1],[X|Tail2],[X|I]):- intersection(Tail1,Tail2,I),!. intersection([_|Tail1],[_|Tail2],I):- intersection(Tail1,Tail2,I). или элементы, которые просто встречаются в обоих списках без повторения, тогда ?- intersection2([1,2,3,5,5],[5,4,3,5,5,1],X), write(X), nl, fail. member(X,[X|_]). member(X,[_|Tail]):-member(X,Tail). intersection2([],_,[]). intersection2([X|Tail],List,[X|I]):- not(member(X,Tail)), member(X,List), intersection2(Tail,List,I),!. intersection2([_|Tail],List,I):- intersection2(Tail,List,I). а вот token ?- token(X,[a,b,c,d,a,c],[a,c]), write(X), nl, fail. member(X,[X|_]). member(X,[_|Tail]):-member(X,Tail). append([],A,A). append([X|Tail],A,[X|NewTail]):- append(Tail,A,NewTail). token(Token,List,Delimiters):- member(D1,Delimiters), member(D2, Delimiters), append(_,[D1|Tail],List), append(Token,[D2|_],Tail). token(Token,List,Delimiters):- member(D1,Delimiters), append(_,[D1|Token],List). token(Token,List,Delimiters):- member(D2, Delimiters), append(Token,[D2|_],List). |
|||
|
||||
| strikelon88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.10.2009 Репутация: нет Всего: нет |
БОЛЬШОЕ СПАСИБО!!! четвертый день сидел разбирался, все не получалось а prolog только ошибки выдавал=)
|
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |