Создание списка на основе трёх других - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д