Удалить третий элемент из списка на Prolog

Программирование Помощь с решением задач на Prolog Задачи на списки Удалить третий элемент из списка на Prolog

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 3 года/лет, 8 мес. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #1800

    questioner
    Участник

    Подскажите, пожалуйста, как в SWI Prolog удалить третий элемент из списка?
    С удалением первого и последнего разобралась, а с этим небольшие проблемы.

    #1801

    rm3([Head1, Head2, _Head3|Tail], [Head1, Head2|Tail]).

    Если третьего элемент нет — правило завершается неудачей.
    Исходный список разделяется на 3 первых элемента (Head1, Head2 и _Head3) и хвост (Tail). Формируется новый список, но в него входят только 2 первых элемента и хвост.

    Символ подчеркивания перед Head3 стоит т.к. этот элемент не используется в программе (вообще, _Head3 можно заменить на _). SWI Prolog выдает предупреждения если обнаруживает неиспользуемые переменные. Если переменная реально не нужна — то чтобы погасить эти предупреждения перед именем можно поставить подчеркивание.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.