Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (* Zadanie 6 *)
- let segments (list, x)=
- let rec helper(list, current, counter, acc)=
- if list = [] then reverse (current::acc)
- else if counter = 0 then helper(list, [], x, reverse current :: acc)
- else helper(List.tl list, List.hd list :: current, counter-1, acc)
- in helper(list, [], x, []);;
- segments([1;2;3;4;5;6;7;8;9], 2);;
- segments([1;2;3;4;5;6], 5);;
- segments([],7);;
- segments([6;3;5;6;44;3;6;67;8789;5;323;2;1;2;], 4);;
- (* Zadanie 7 *)
- let swap(list, x)=
- let rec helper(list, x, list1)=
- if list = [] && list1 = [] then []
- else if list = [] then list @ reverse list1
- else if x = 0 then list @ reverse list1
- else helper(List.tl list, x-1, List.hd list :: list1)
- in helper(list, x, []);;
- swap(["a";"b";"5";"6"], 2);;
- swap(["a";"b";"c";"d";"e";"f";"g";"h"], 5);;
- swap(["a";"b";"c";"d";"e";"f";"g";"h"], 8);;
- swap(["a";"b";"c";"d";"e";"f";"g";"h"], 7);;
- swap([], 2);;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement