Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. (* Zadanie 6 *)
  2.  
  3. let segments (list, x)=
  4. let rec helper(list, current, counter, acc)=
  5. if list = [] then reverse (current::acc)
  6. else if counter = 0 then helper(list, [], x, reverse current :: acc)
  7. else helper(List.tl list, List.hd list :: current, counter-1, acc)
  8. in helper(list, [], x, []);;
  9.  
  10. segments([1;2;3;4;5;6;7;8;9], 2);;
  11. segments([1;2;3;4;5;6], 5);;
  12. segments([],7);;
  13. segments([6;3;5;6;44;3;6;67;8789;5;323;2;1;2;], 4);;
  14.  
  15. (* Zadanie 7 *)
  16.  
  17. let swap(list, x)=
  18. let rec helper(list, x, list1)=
  19. if list = [] && list1 = [] then []
  20. else if list = [] then list @ reverse list1
  21. else if x = 0 then list @ reverse list1
  22. else helper(List.tl list, x-1, List.hd list :: list1)
  23. in helper(list, x, []);;
  24.  
  25. swap(["a";"b";"5";"6"], 2);;
  26. swap(["a";"b";"c";"d";"e";"f";"g";"h"], 5);;
  27. swap(["a";"b";"c";"d";"e";"f";"g";"h"], 8);;
  28. swap(["a";"b";"c";"d";"e";"f";"g";"h"], 7);;
  29. swap([], 2);;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement