Advertisement
Guest User

Se pojeb :S

a guest
Apr 25th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.70 KB | None | 0 0
  1. ;gnu clisp 2.49
  2.  
  3. (defun prvek (L X)
  4.    
  5.         (cond ((null L) ())
  6.               ((atom (car L)) (or (= (car L) X) (prvek (cdr L) X)))
  7.               (t (or (prvek (cdr L) X) (prvek (car L) X)))
  8.         )
  9. )
  10.  
  11. ;(print (prvek '((1 2) 3 4) 3))
  12.  
  13.  
  14. (defun soucet (L)
  15.        
  16.     (cond ((null L) 0)
  17.           ((atom (car L)) (+ (car L) (soucet (cdr L))))
  18.           (t (+ (soucet (car L)) (soucet (cdr L))))
  19.        
  20.     )
  21.    
  22. )
  23.  
  24. ;(print (soucet '(3 4 3 (1 (5 6) 2 2))))
  25.  
  26. (defun pocet (L)
  27.        
  28.     (cond ((null L) 0)
  29.           ((atom (car L)) (+ 1 (pocet (cdr L))))
  30.           (t (+ (pocet (car L)) (pocet (cdr L))))
  31.        
  32.     )
  33.    
  34. )
  35.  
  36. ;(print (pocet '(3 4 3 (1 (5 6) 2 2))))
  37.  
  38.  
  39.  
  40. ; ukol ukol
  41. ; ukol spojeni 2 seznamu
  42. (defun spoj (L1 L2)
  43.    (cond
  44.        ((null L1) L2)
  45.        ((null L2) L1)
  46.        ((and (null L1) (null L2) nill))
  47.        ((null (cdr L1)) (cons (car L1) L2))
  48.        (t (cons (car L1) (spoj (cdr L1) L2)))
  49.    )
  50. )
  51.    
  52.  
  53.  
  54. ; ukol minimum v obecnem seznamu
  55. (defun minimum (L)
  56.     (cond
  57.         ((not(atom(car L))) (minimum (spoj (car L) (cdr L))))
  58.         ((= 1 (pocet L)) (car L))
  59.         ((< (car L) (minimum (cdr L))) (car L))
  60.         ((> (car L) (minimum (cdr L))) (minimum (cdr L)))
  61.         ((= (car L) (minimum (cdr L))) (car L))
  62.     )    
  63. )
  64.  
  65.  
  66.  
  67. ; ukol soucet_x v seznamu
  68. (defun soucet_x (L X)
  69.     (cond ((null L) 0)
  70.           ((and (atom (car L)) (= X (car L)))  (+ (car L) (soucet_x (cdr L) X)))
  71.           ((not(atom (car L))) (+ (soucet_x (car L) X) (soucet_x (cdr L) X)))
  72.           (t (+  (soucet_x (cdr L) X)))
  73.     )
  74.    
  75. )
  76.  
  77. (print (spoj '(1 2 3) '(4 5 6)))
  78. (print (minimum '(2 5 (-50 4) 6 7 -5)))
  79. (print (soucet_x '(1 (3 4 3) 2 3 3) 3 ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement