Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun read-input(p)
- (cond
- ((null p) nil)
- (T (cons p (read-input (read nil nil))))
- )
- )
- (defun readinput(i)
- (cdr (read-input 1))
- )
- (defun dep (lista d maxd) ;maksimalna dlabocina
- (cond
- ((null lista) maxd)
- ((atom (car lista)) (dep (cdr lista) d maxd))
- (T (dep (cdr lista) d (dep (car lista) (+ 1 d) (max (+ 1 d) maxd))))
- )
- )
- (defun elemsDep (lista tmpdep dep) ;lista od elementite na edno nivo
- (cond
- ((null lista) nil)
- ((and (atom (car lista)) (eq tmpdep dep))
- (cons (car lista) (elemsDep (cdr lista) tmpdep dep)))
- ((listp (car lista))
- (append (elemsDep (car lista) (+ 1 tmpdep) dep) (elemsDep (cdr lista) tmpdep dep)))
- (T (elemsDep (cdr lista) tmpdep dep))
- )
- )
- (defun suma (lista) ;suma od elementite na edno nivo
- (cond
- ((null lista) 0)
- (T (+ (car lista) (suma (cdr lista))))
- )
- )
- (defun prosek (lista)
- (cond
- ((null lista) 0)
- (T (float(/ (suma lista) (length lista ))))
- )
- )
- (defun istaDlabocina (lista maxdep)
- (cond
- ((eq maxdep -1) nil)
- (T (append (list(elemsDep lista 0 maxdep)) (istaDlabocina lista (- maxdep 1))))
- )
- )
- (defun najgolemProsek (lista maxprosek pom)
- (cond
- ((null lista) pom)
- ( (> (prosek (car lista)) maxprosek)
- (najgolemProsek (cdr lista) (prosek (car lista)) (car lista)))
- (T (najgolemProsek (cdr lista) maxprosek pom))
- )
- )
- (setq maxdep (dep '(1 5 (3 (8) 6 (7 (9)) )(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) 0 0))
- (setq novalista (reverse(istaDlabocina '(1 5 (3 (8) 6 (7 (9)) )(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) maxdep)))
- (print (reverse(istaDlabocina '(1 5 (3 (8) 6 (7 (9)) )(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) maxdep)))
- (print (najgolemProsek novalista 0 nil))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement