Поиск пар, где разница в возрасте мужа и жены не превышает 5 лет - Prolog
Формулировка задачи:
Мне нужно решить такую задачу.
Найти все пары, где разница в возрасте мужа и жены не превышает 5 лет.
У меня получился такой код, но компилятор ругается. Что я делаю не так?
Кстати, компилятор ругается на строке 11 перед Name. Пишет такую ошибку:708 Warning:The variable is not this clause.
Решение задачи: «Поиск пар, где разница в возрасте мужа и жены не превышает 5 лет»
textual
Листинг программы
domains
list=integer*.
person=p(string,integer,string,integer).
predicates
readperson(person).
run(char,list).
do(person).
clauses
readperson(p(Name,Age,Name1,Ag1)):-write("Name:"), readln(Name),
write("Age"),readint(Age),
write("Name1"),readln(Name1),
write("Age1"),readint(Age1).
run('y',[p(_,A,_,A1)]):-readperson(p(_,A,_,A1)),abs(A-A1)<=5,
write("Read now&(y/n):"),
readchar(Ch),run(Ch,[H]),!.
do(p(M,N,M1,N1)):-write("Enter now&(y/n):"),
readchar(Ch),run(Ch,p(_,A,_,A1)).
do(p(M,N,M1,N1)),write(p(M,N,M1,N1)).