• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Создайте предикат, удаляющий из данной строки все повторные вхождения символов prolog 5.2

  • Автор темы 203
  • Дата начала
2

203

Здравствуйте. Может кто может помочь решить задачу. Создайте предикат, удаляющий из данной строки все повторные вхождения символов (нужно брать входную строку из файла, а полученный результат записать в новый файл). Заранее спасибо.
Вот что у меня получилось (сделано не правильно т.к не работает)

Код:
domains
charArray=char*
str=string
strl=str*
 
predicates
remall(charArray,str,str)
task(str,str)
   
nondeterm run
 
clauses
remall(_,"","").		
remall(C,S,R) :- frontchar(S,C,RS), remall(C,RS,R),!.
remall(C,S,R) :- frontchar(S,Q,RS), remall(C,RS,RR), frontchar(R,Q,RR).
 
task("",""). 
task(S,R) :- frontchar(S,A,RS), remall(A,RS,RRS),  task(RRS,RR), frontchar(R,A,RR).
 
run :- file_str("D:/Work/input.txt",S), write(S), nl, file_str("D:/Work/output.txt", S). %вывод не сделан
 
goal
run.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!