Компьютерный форум

Компьютерный форум (http://www.hardforum.ru/)
-   Prolog (http://www.hardforum.ru/f141/)
-   -   Сравнение двух списков (http://www.hardforum.ru/t83946/)

zener 27.10.2010 20:56

Сравнение двух списков
 
Здравствуйте, помогите, пожалуйста с задачкой - нужно убедиться, что первый список меньше второго на 1 элемент..
как я понимаю факт(выход из рекурсии) будет примерно таким(на VP 5.01):
len([],[A]).

А вот правило записать не получается для получении рекурсии..
Помогите, пожалуйста.Очень надеюсь на вашу помощь.

MarinN 27.10.2010 23:04

без рекурсии:
main([X|Xs],[H|Hs]):-
lenght([X|Xs],N),
lenght([H|Hs],M),
N=M.
с рекурсией:
main([X|Xs],[H|Hs]):-
proc1([X|Xs],[H|Hs],0,0).

proc1([X|Xs],[H|Hs],I1,I2):-
proc1(Xs,Hs,I1+1,I2+1).
proc1([],[],I1,I2):-I1=I2.

Винитарх 28.10.2010 00:16

МаринН, Вы чего то не того понаписали. Я бы сделал так:
[PROLOG]main([_|X],[_|Y]):-!,main(X,Y).
main([],[_]).[/PROLOG]

MarinN 28.10.2010 01:21

а да не то
я что-то забылась
это на сравнение одинаковой длинны я написала

zener 28.10.2010 15:40

Спасибо за помощь


Часовой пояс GMT +4, время: 16:17.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.