Guest User

Untitled

a guest
Dec 16th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. transpose([], []).
  2. transpose([F|Fs], Ts) :-
  3. transpose(F, [F|Fs], Ts).
  4.  
  5. transpose([], _, []).
  6. transpose([_|Rs], Ms, [Ts|Tss]) :-
  7. lists_firsts_rests(Ms, Ts, Ms1),
  8. transpose(Rs, Ms1, Tss).
  9.  
  10. lists_firsts_rests([], [], []).
  11. lists_firsts_rests([[F|Os]|Rest], [F|Fs], [Os|Oss]) :-
  12. lists_firsts_rests(Rest, Fs, Oss).
  13.  
  14. ?- transpose([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], X).
  15. T Call: (6) transpose([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1425)
  16. T Call: (7) transpose([1, 2, 3], [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1425)
  17. T Call: (8) lists_firsts_rests([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1541, _G1585)
  18. T Call: (9) lists_firsts_rests([[4, 5, 6], [7, 8, 9], [10, 11, 12]], _G1545, _G1548)
  19. T Call: (10) lists_firsts_rests([[7, 8, 9], [10, 11, 12]], _G1551, _G1554)
  20. T Call: (11) lists_firsts_rests([[10, 11, 12]], _G1557, _G1560)
  21. T Call: (12) lists_firsts_rests([], _G1563, _G1566)
  22. T Exit: (12) lists_firsts_rests([], [], [])
  23. T Exit: (11) lists_firsts_rests([[10, 11, 12]], [10], [[11, 12]])
  24. T Exit: (10) lists_firsts_rests([[7, 8, 9], [10, 11, 12]], [7, 10], [[8, 9], [11, 12]])
  25. T Exit: (9) lists_firsts_rests([[4, 5, 6], [7, 8, 9], [10, 11, 12]], [4, 7, 10], [[5, 6], [8, 9], [11, 12]])
  26. 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]])
  27. T Call: (8) transpose([2, 3], [[2, 3], [5, 6], [8, 9], [11, 12]], _G1542)
  28. T Call: (9) lists_firsts_rests([[2, 3], [5, 6], [8, 9], [11, 12]], _G1568, _G1612)
  29. T Call: (10) lists_firsts_rests([[5, 6], [8, 9], [11, 12]], _G1572, _G1575)
  30. T Call: (11) lists_firsts_rests([[8, 9], [11, 12]], _G1578, _G1581)
  31. T Call: (12) lists_firsts_rests([[11, 12]], _G1584, _G1587)
  32. T Call: (13) lists_firsts_rests([], _G1590, _G1593)
  33. T Exit: (13) lists_firsts_rests([], [], [])
  34. T Exit: (12) lists_firsts_rests([[11, 12]], [11], [[12]])
  35. T Exit: (11) lists_firsts_rests([[8, 9], [11, 12]], [8, 11], [[9], [12]])
  36. T Exit: (10) lists_firsts_rests([[5, 6], [8, 9], [11, 12]], [5, 8, 11], [[6], [9], [12]])
  37. T Exit: (9) lists_firsts_rests([[2, 3], [5, 6], [8, 9], [11, 12]], [2, 5, 8, 11], [[3], [6], [9], [12]])
  38. T Call: (9) transpose([3], [[3], [6], [9], [12]], _G1569)
  39. T Call: (10) lists_firsts_rests([[3], [6], [9], [12]], _G1595, _G1639)
  40. T Call: (11) lists_firsts_rests([[6], [9], [12]], _G1599, _G1602)
  41. T Call: (12) lists_firsts_rests([[9], [12]], _G1605, _G1608)
  42. T Call: (13) lists_firsts_rests([[12]], _G1611, _G1614)
  43. T Call: (14) lists_firsts_rests([], _G1617, _G1620)
  44. T Exit: (14) lists_firsts_rests([], [], [])
  45. T Exit: (13) lists_firsts_rests([[12]], [12], [[]])
  46. T Exit: (12) lists_firsts_rests([[9], [12]], [9, 12], [[], []])
  47. T Exit: (11) lists_firsts_rests([[6], [9], [12]], [6, 9, 12], [[], [], []])
  48. T Exit: (10) lists_firsts_rests([[3], [6], [9], [12]], [3, 6, 9, 12], [[], [], [], []])
  49. T Call: (10) transpose([], [[], [], [], []], _G1596)
  50. T Exit: (10) transpose([], [[], [], [], []], [])
  51. T Exit: (9) transpose([3], [[3], [6], [9], [12]], [[3, 6, 9, 12]])
  52. T Exit: (8) transpose([2, 3], [[2, 3], [5, 6], [8, 9], [11, 12]], [[2, 5, 8, 11], [3, 6, 9, 12]])
  53. 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]])
  54. 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]])
  55. X = [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]].
Add Comment
Please, Sign In to add comment