Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
98
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.  
  14. (defun maxdep (lista d maxd)
  15.     (cond
  16.         ((null lista) maxd)
  17.         ((atom (car lista)) (maxdep (cdr lista) d maxd))
  18.         (T (maxdep (cdr lista) d (maxdep (car lista) (+ 1 d) (max (+ 1 d) maxd))))
  19.         )
  20.     )
  21.  
  22. (defun listaDlabocina (lista atm dep)
  23.     (cond
  24.         ((null lista) nil)
  25.         ((and (atom (car lista)) (eq atm dep)) (cons (car lista) (listaDlabocina (cdr lista) atm dep)))
  26.         ((listp (car lista))
  27.            (append (listaDlabocina (car lista) (+ 1 atm) dep) (listaDlabocina (cdr lista) atm dep)))
  28.         (T (listaDlabocina (cdr lista) atm dep))
  29.         )
  30.     )
  31.  
  32.  
  33. (defun suma (lista)
  34.     (cond
  35.         ((null lista) 0)
  36.         (T (+ (car lista) (suma (cdr lista))))
  37.         )
  38.     )
  39.  
  40. (defun prosek (lista)
  41.     (cond
  42.         ((null lista) 0)
  43.         (T (float (/ (suma lista) (length lista))))
  44.         )
  45.     )
  46.  
  47.  
  48. (defun grupirani (lista dep)
  49.     (cond
  50.         ((eq dep -1) nil)
  51.         (T (cons (listaDlabocina lista 0 dep) (grupirani lista (- dep 1))))
  52.         )
  53.     )
  54.  
  55. (defun maxProsek (lista p maxp pom)
  56.     (cond
  57.         ((null lista) pom)
  58.         ((> (prosek (car lista)) maxp) (maxProsek (cdr lista) p (prosek (car lista)) (car lista)))
  59.         (T (maxProsek (cdr lista) p maxp pom))
  60.         )
  61.     )
  62.  
  63.  
  64. (setq dep(maxdep '(1 5 (3 (8) 6 (7 (9)))(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) 0 0))
  65. (print (reverse (grupirani '(1 5 (3 (8) 6 (7 (9)))(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) dep) ))
  66. (setq L(reverse(grupirani '(1 5 (3 (8) 6 (7 (9)))(4 (11 (20 ((2))) 13)) (7 ((1) (5)))) dep)))
  67. (print(maxProsek L 0 0 nil))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement