Предикат, который выводит номера всех позиций вхождения заданного элемента в строку - 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).

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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