Advertisement
Guest User

Untitled

a guest
Jan 11th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defun read-input(p)
  2. (cond
  3.    ((null p) nil)
  4.    (T (cons p (read-input (read nil nil))))
  5. )
  6. )
  7.  
  8. (defun readinput(i)
  9.     (cdr (read-input 1))
  10. )
  11.  
  12.  
  13. (defun dep (lista d maxd)       ;maksimalna dlabocina
  14.     (cond
  15.         ((null lista) maxd)
  16.         ((atom (car lista)) (dep (cdr lista) d maxd))
  17.         (T (dep (cdr lista) d (dep (car lista) (+ 1 d) (max (+ 1 d) maxd))))
  18.         )
  19.     )
  20.  
  21.  
  22. (defun elemsDep (lista tmpdep dep)    ;lista od elementite na edno nivo
  23.     (cond
  24.         ((null lista) nil)
  25.         ((and (atom (car lista)) (eq tmpdep dep))
  26.             (cons (car lista) (elemsDep (cdr lista) tmpdep dep)))
  27.         ((listp (car lista))
  28.             (append (elemsDep (car lista) (+ 1 tmpdep) dep) (elemsDep (cdr lista) tmpdep dep)))
  29.         (T (elemsDep (cdr lista) tmpdep dep))
  30.         )
  31.     )
  32.  
  33. (defun istaDlabocina (lista maxdep)
  34.     (cond
  35.         ((eq maxdep -1) 0)
  36.         (T (append (list(elemsDep lista 0 maxdep)) (istaDlabocina lista (- maxdep 1))))
  37.         )
  38.     )
  39.  
  40. (setq maxdep (dep '(1 5 (3 (8) 6 (7 (9)) )(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) 0 0))
  41. (print (istaDlabocina '(1 5 (3 (8) 6 (7 (9)) )(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) maxdep))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement