В списке символов S1, S2, ., St найти самое короткое слово - Prolog

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

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

Здравствуйте, помогите пожалуйста. В списке символов S1, S2, ..., Sn*найти самое короткое слово, если разделителем между словами является один или несколько пробелов и удалить его.

Решение задачи: «В списке символов S1, S2, ., St найти самое короткое слово»

textual
Листинг программы
minstr(Str1, Str2, Str2) :- string_length(Str1, Len1), string_length(Str2, Len2), Len1>Len2, !.
minstr(Str1, Str2, Str1) :- string_length(Str1, Len1), string_length(Str2, Len2), Len1<Len2, !.
minstr(Str1, Str2, Str2) :- string_length(Str1, Len1), string_length(Str2, Len2), Len1=Len2, !.
minstr([],[],[]) :- !.
 
minstring([], MinStr,X) :- delete(X, MinStr,Y), write(Y), !.
minstring([Head|List], String,X) :- minstr(Head,String,Min), minstring(List,Min,X).
 
find(Str) :- split_string(Str," ", "",[H|T]), minstring([H|T],H,[H|T]).

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


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

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

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