Проблема с длиной кодировки - PullRequest
0 голосов
/ 28 апреля 2020

Я должен начать с того, что это домашнее задание. Я пытаюсь решить проблему с кодировкой длины серии и думаю, что у меня это более или менее связано с другими вопросами по этой теме c на этом сайте и другими, однако формат, в котором он возвращается, не принимается IDE моего Uni. , Может ли кто-нибудь мне помочь?

Это моя программа

count([],[]).
count([X|T],[[X,C1]|R]) :- count(T,[[X,C]|R]), !, C1 is C+1.
count([X|T],[[X,1]|R]) :- count(T,R).

И это возвращает

?- count([1,1,1,2,2,2,3,1,1],R).
R = [[1, 3], [2, 3], [3, 1], [1, 2]].

Однако, что система хочет, чтобы это вернулось

?- count([1,1,1,2,2,2,3,1,1],R).
R = [(1, 3), (2, 3), (3, 1), (1, 2)].

Он хочет кортежи вместо списков, кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 29 апреля 2020

Чтобы создать кортеж, просто напишите (A, B) везде, где вы написали термин вида [A, B].

...