В предложении выделить группу самых коротких слов - Prolog
Формулировка задачи:
В предложении выделить группу самых коротких слов. Вывести на экран слова, начинающиеся и заканчивающиеся на одну и ту же букву.
Не могу понять что не так
Решение задачи: «В предложении выделить группу самых коротких слов»
textual
Листинг программы
%trace domains s=string i=integer predicates law(string,string) gtwrd(string,string,string,string) longer(string,string) length(string,integer) do(s) test(s) clauses do(""). do(S):- fronttoken(S,T,R), test(T), do(R). test(T):- str_len(T,L), LL=L-1, frontstr(LL,T,_,Last), frontstr(1,T,First,_), First = Last, write(T), nl. test(_). gtwrd(S,W,E,T):- frontchar(S,C,S1), NOT(C=' '), str_char(SS,C), concat(W,SS,R), gtwrd(S1,R,E,T),!. gtwrd(S,W,W,R):- frontchar(S,_,R). gtwrd(S,W,W,S). longer(A,B):- length(A,LenA), length(B,LenB), LenA>LenB. length("",0):-!. length(S,N):- frontchar(S,_,S1), length(S1,N1), N=N1+1. law("",""):-!. law(S,W):- gtwrd(S,"",WW,SS),NOT(SS=""), law(SS,WWW), NOT(longer(WWW,WW)), W=WWW. law(S,W):- gtwrd(S,"",W,_). goal clearwindow, S="area yoy Losing my insanity", do(S).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д