Question
please code the following functions in clisp. NOT in racket !!!!!!!!!!!!!!!!!!!! Function 3: zipper Define a function that takes two lists as arguments and returns
please code the following functions in clisp. NOT in racket !!!!!!!!!!!!!!!!!!!!
Function 3: zipper
Define a function that takes two lists as arguments and returns a single list of pairs (i.e. two element sublists). The first pair should both be the first elements from the respective lists. The second pair should be the second elements from the respective lists, and so on. If one input list is longer than the other, extra elements of the longer list are ignored. Your implementation must be recursive.
- Input: Two Lists of elements of any type, potentially heterogenous. The two lists do not have to be the same length.
- Output: A new list whose elements are each two-element sublists.
- Examples:
> (zipper '(1 2 3 4) '(a b c d))
'((1 a) (2 b) (3 c) (4 d))
> (zipper '(1 2 3) '(4 9 5 7))
'((1 4) (2 9) (3 5))
> (zipper '(5) '( ))
'( )
Function 5: segregate
Define a function that takes a list of integers as an argument and returns a list containing two sublists, the first sublist containing the even numbers from the original list and second sublist containing the odd numbers from the original list. Your implementation must be recursive.
- Input: A lists of Integers
- Output: A new list with two sublists. The first sublist contains the even numbers from the original list and second sublist contains the odd numbers.
- Example:
> (segregate '(7 2 3 5 8))
'((2 8) (7 3 5))
> (segregate '(3 -5 8 16 99))
'((8 16) (3 -5 99))
> (segregate '( ))
'(( ) ( ))
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started