Предикат, который выводит номера всех позиций вхождения заданного элемента в строку - Prolog

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

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

Доброго времени суток. Подскажите, пожалуйста, как вывести номера всех позиций вхождения заданного элемента в строку. Вот код для вывода последней позиции вхождения:

Решение задачи: «Предикат, который выводит номера всех позиций вхождения заданного элемента в строку»

textual
Листинг программы
domains
int=integer
intl=int*
 
predicates
count(string,char,int,intl)
task(string,char,intl)
 
clauses
 
count("",_,_,[]).
count(S,P,N,[N|T]) :- frontchar(S,P,L),N1=N+1,count(L,P,N1,T).
count(S,P,N,T) :- frontchar(S,Q,L),Q<>P,N1=N+1,count(L,P,N1,T).
 
task(X,P,R) :- count(X,P,1,R).

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


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

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

10   голосов , оценка 3.4 из 5
Похожие ответы