Как использовать tranpose и findall для печати всех переменных в предикате

Я хотел знать, как я мог бы использовать tranpose и findall для вывода списка всех переменных в предикате и отображения его в виде матрицы?

так что это предикат со всеми переменными.

across(2,4,2,4).
across(2,10,2,4).   
across(3,4,4,12).
across(3,10,2,6).
across(4,3,2,6).
across(4,6,4,10).

1 ответ

Вероятно, проще хранить его в предикате.

getAcross(List) :- findall([A,B,C,D], across(A,B,C,D), List).

Так getAcross(X) будет хранить список [[A,B,C,D],[A,B,C,D]... так далее

Если вы говорите о транспонировании матрицы, например, вам может понадобиться это только в том случае, если у вас есть ограничения вниз.:)

Другие вопросы по тегам