Разработать алгоритм для поиска по списку - Prolog

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

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

Немного в ступоре. Не могу разработать алгоритм, для поиска по списку. Вкратце, задача такова: начальные данные: список, каждый член имеет вид: А(С) или А, где А - символы, а С - число, заключённое в скобки. Например List=[qweq,fdsdf(1), asd(0), asd(1), kxck(3)]. Данные будут читаться из файла, и будут без кавычек (одиночных и/или двойных). Мне необходимо составить список (или выводить на монитор) генерированные данные по следующим критериям: 1. Если в элементе списка скобки и число между ними отсутствует, то элемент не обрабатывается, переходим к следующему 2. Для всех остальных, должны выводится отсутствующие элементы списка, часть А которых должна присутствовать среди элементов, а часть С - отсутствовать. Для моего примера: List=[qweq,fdsdf(1), asd(0), asd(1), kxck(3)]. предикат должен вывести fdsdf(0), fdsdf(3), asd(3), kxck(0), kxck(1). Задачу я могу решить "не по проложному". Найти уникальные значения А, С и далее, как-то перебирать.

Решение задачи: «Разработать алгоритм для поиска по списку»

textual
Листинг программы
?- List=[qweq, fdsdf(1), asd(0), asd(1), kxck(3)], setof( N, X^F^(member(X, List), X =.. [F, N]), Ns).
List = [qweq, fdsdf(1), asd(0), asd(1), kxck(3)],
Ns = [0, 1, 3].

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


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

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

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