Создание списка на основе трёх других - Prolog

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

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

Задача состоит в следующем: Даны и списка A,B,C, надо сформировать список S так: A [1,2,3], B[4,5,6],C[7,8,9], S должен получиться: S[1,4,7,2,5,8,3,6,9], и соответственно рассмотреть случаи, когда Один из них пуст, когда два из них пусты и когда три. Я написал прошу пожалуйста подкорректируйте, чтобы мой ко заработал.

Решение задачи: «Создание списка на основе трёх других»

textual
Листинг программы
total_list(Xs, []) :-
    is_empty(Xs).
total_list(Xs, Zs) :-
    get_by_one(Xs, Ys, Ts),
    total_list(Ts, Rs),
    append1(Ys, Rs, Zs),
    !.
 
is_empty([]).
is_empty([[]|T ]) :-
    is_empty(T).
 
get_by_one([], [], []).
get_by_one([[Y|TYs]|TXs], [Y|RYs], [TYs|RZs]) :-
    get_by_one(TXs, RYs, RZs).
get_by_one([_|TXs], RYs, RZs) :-
    get_by_one(TXs, RYs, RZs).
 
append1([], RightList, RightList).
append1([LeftHead|LeftTeil], RightList, [LeftHead|RightPart]) :-
    append1(LeftTeil, RightList, RightPart).

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


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

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

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