Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- б) (40 п) листа во која ќе се содржат само оние елементи од оригиналната листа кои се
- појавуваат парен број пати во истата (на сите нивоа):
- Пример: (transformiraj-paren '(2 (6 8) (1 2 (2 4) 6) ((1) 2))) (2 6 1)
- (defun transformiraj-paren (lista)
- (pomosna (flatten lista) (flatten lista) 0)
- )
- (defun pomosna (lista pomlista brojac)
- (cond
- ((null lista) nil)
- ((and (null pomlista)(evenp brojac))(cons (car lista)(pomosna (remove (car lista)(cdr lista))(cdr lista) 0)))
- ((and (null pomlista)(oddp brojac))(pomosna (remove (car lista)(cdr lista))(cdr lista) 0))
- ((listp (car lista))(cons (pomosna (car lista) 0 (car lista))(pomosna (cdr lista) 0 (cdr lista))))
- ((equal (car lista)(car pomlista))(pomosna lista (cdr pomlista)(+ 1 brojac)))
- ((not(equal (car lista)(car pomlista)))(pomosna lista (cdr pomlista) brojac))
- )
- )
- (defun flatten (lista)
- (cond
- ((null lista) nil)
- ((listp (car lista))(append (flatten (car lista))(flatten (cdr lista))))
- (t (append (list (car lista))(flatten (cdr lista))))
- ))
- (print (transformiraj-paren '(2 (6 8) (1 2 (2 4) 6) ((1) 2))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement