Создать список позиций заданного элемента в исходном списке - Prolog

Узнай цену своей работы

Формулировка задачи:

VISUAL PROLOG 5.2. Вроде все сделал, только возникает ошибка компиляции, не могу понять в чем проблема:
Листинг программы
  1. DOMAINS
  2. list = integer*
  3. PREDICATES
  4. nondeterm vvod(list)
  5. nondeterm change(integer,integer,list,list)
  6. nondeterm add(integer,list,list)
  7. nondeterm doubleChange(integer,integer,integer,integer)
  8. CLAUSES
  9. vvod([H|T]):-
  10. write("Vedite element spiska ili 'ENTER': "),readint(H),nl,
  11. vvod(T).
  12. vvod([]).
  13. add(E,[],[E]):-!.
  14. add(E,[H|T],[H|T1]):-
  15. add(E,T,T1).
  16. doubleChange(X,Y,H,H1):-
  17. Y = H,
  18. H1 = X.
  19. doubleChange(_,_,_,1).
  20. change(_,_,[],[]).
  21. change(X,Y,[H|T],List):-
  22. doubleChange(X,Y,H,H1),
  23. D = X + 1,
  24. 1 >< H1,
  25. change(D,Y,T,B),
  26. add(H1,B,List),!.
  27. change(X,Y,[_|T],List):-
  28. D = X + 1,
  29. change(D,Y,T,List).
  30. GOAL
  31. vvod(L),nl,
  32. write("Vedite chislo: "), readint(Y),nl
  33. change(1,Y,L,T),nl,
  34. write("Answer is : ", T),nl.

Решение задачи: «Создать список позиций заданного элемента в исходном списке»

textual
Листинг программы
  1. Vedite element spiska ili 'ENTER': 1
  2.  
  3. Vedite element spiska ili 'ENTER': 2
  4.  
  5. Vedite element spiska ili 'ENTER': 3
  6.  
  7. Vedite element spiska ili 'ENTER': 4
  8.  
  9. Vedite element spiska ili 'ENTER': 5
  10.  
  11. Vedite element spiska ili 'ENTER':
  12. L=[1,2,3,4,5]
  13. L=[1,2,3,4]
  14. L=[1,2,3]
  15. L=[1,2]
  16. L=[1]
  17. L=[]
  18. 6 Solutions

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы