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

203

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

Код:
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.