Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- transpose([], []).
- transpose([F|Fs], Ts) :-
- transpose(F, [F|Fs], Ts).
- transpose([], _, []).
- transpose([_|Rs], Ms, [Ts|Tss]) :-
- lists_firsts_rests(Ms, Ts, Ms1),
- transpose(Rs, Ms1, Tss).
- lists_firsts_rests([], [], []).
- lists_firsts_rests([[F|Os]|Rest], [F|Fs], [Os|Oss]) :-
- lists_firsts_rests(Rest, Fs, Oss).
- ?- transpose([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], X).
- T Call: (6) transpose([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1425)
- T Call: (7) transpose([1, 2, 3], [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1425)
- T Call: (8) lists_firsts_rests([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1541, _G1585)
- T Call: (9) lists_firsts_rests([[4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1545, _G1548)
- T Call: (10) lists_firsts_rests([[7, 8, 9], [10, 11, 12]], _G1551, _G1554)
- T Call: (11) lists_firsts_rests([[10, 11, 12]], _G1557, _G1560)
- T Call: (12) lists_firsts_rests([], _G1563, _G1566)
- T Exit: (12) lists_firsts_rests([], [], [])
- T Exit: (11) lists_firsts_rests([[10, 11, 12]], [10], [[11, 12]])
- T Exit: (10) lists_firsts_rests([[7, 8, 9], [10, 11, 12]], [7, 10], [[8, 9], [11, 12]])
- T Exit: (9) lists_firsts_rests([[4, 5, 6], [7, 8, 9], [10, 11, 12]], [4, 7, 10], [[5, 6], [8, 9], [11, 12]])
- T Exit: (8) lists_firsts_rests([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], [1, 4, 7, 10], [[2, 3], [5, 6], [8, 9], [11, 12]])
- T Call: (8) transpose([2, 3], [[2, 3], [5, 6], [8, 9], [11, 12]], _G1542)
- T Call: (9) lists_firsts_rests([[2, 3], [5, 6], [8, 9], [11, 12]], _G1568, _G1612)
- T Call: (10) lists_firsts_rests([[5, 6], [8, 9], [11, 12]], _G1572, _G1575)
- T Call: (11) lists_firsts_rests([[8, 9], [11, 12]], _G1578, _G1581)
- T Call: (12) lists_firsts_rests([[11, 12]], _G1584, _G1587)
- T Call: (13) lists_firsts_rests([], _G1590, _G1593)
- T Exit: (13) lists_firsts_rests([], [], [])
- T Exit: (12) lists_firsts_rests([[11, 12]], [11], [[12]])
- T Exit: (11) lists_firsts_rests([[8, 9], [11, 12]], [8, 11], [[9], [12]])
- T Exit: (10) lists_firsts_rests([[5, 6], [8, 9], [11, 12]], [5, 8, 11], [[6], [9], [12]])
- T Exit: (9) lists_firsts_rests([[2, 3], [5, 6], [8, 9], [11, 12]], [2, 5, 8, 11], [[3], [6], [9], [12]])
- T Call: (9) transpose([3], [[3], [6], [9], [12]], _G1569)
- T Call: (10) lists_firsts_rests([[3], [6], [9], [12]], _G1595, _G1639)
- T Call: (11) lists_firsts_rests([[6], [9], [12]], _G1599, _G1602)
- T Call: (12) lists_firsts_rests([[9], [12]], _G1605, _G1608)
- T Call: (13) lists_firsts_rests([[12]], _G1611, _G1614)
- T Call: (14) lists_firsts_rests([], _G1617, _G1620)
- T Exit: (14) lists_firsts_rests([], [], [])
- T Exit: (13) lists_firsts_rests([[12]], [12], [[]])
- T Exit: (12) lists_firsts_rests([[9], [12]], [9, 12], [[], []])
- T Exit: (11) lists_firsts_rests([[6], [9], [12]], [6, 9, 12], [[], [], []])
- T Exit: (10) lists_firsts_rests([[3], [6], [9], [12]], [3, 6, 9, 12], [[], [], [], []])
- T Call: (10) transpose([], [[], [], [], []], _G1596)
- T Exit: (10) transpose([], [[], [], [], []], [])
- T Exit: (9) transpose([3], [[3], [6], [9], [12]], [[3, 6, 9, 12]])
- T Exit: (8) transpose([2, 3], [[2, 3], [5, 6], [8, 9], [11, 12]], [[2, 5, 8, 11], [3, 6, 9, 12]])
- T Exit: (7) transpose([1, 2, 3], [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]])
- T Exit: (6) transpose([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]])
- X = [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]].
Add Comment
Please, Sign In to add comment