1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Остальные языки программирования", создана пользователем 203, 27 апр 2015.

  1. 203

    203 New Member

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

    Код:
    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.
     
Загрузка...

Поделиться этой страницей