Advertisement
ElenaR1

domashno scheme

Nov 19th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 2.93 KB | None | 0 0
  1. ;0 zad
  2. (define l '((84222 "Being Creative") (84221 "Not Really") (99322 "Oh Well")))
  3. (define (subject-helper l n)
  4.       (if (null? l) (display "this isn't such a number in the list")
  5.          (if (= n (caar l)) (cadar l)
  6.           (subject-helper (cdr l) n))))
  7.      
  8. ;1 zad
  9. (define one 1)
  10. (define two 2)
  11. (define three 3)
  12. (define four 4)
  13. (define five 5)
  14. (define six 6)
  15. (define seven 7)
  16. (define eight 8)
  17. (define nine 9)
  18. (define plus +)
  19. (define minus -)
  20. (define times *)
  21. (define div /)
  22. (define oper '(one (plus (five '()))))
  23. (define oper2 '(nine (div (three '()))))
  24. (define oper3 '(nine (times (nine '()))))
  25.  
  26. (define (func ls)
  27.       (eval (list (caadr ls) (car ls) (car (cadadr ls)))))
  28.  
  29. ;2 zad
  30. (define l1 '(1 2 3 4 5 ))
  31. (define (list-rem n l)
  32.           (cond ((null? l) '())
  33.         ((> n (length l)) l)
  34.          ((< n 0) (reverse (list-rem (- n) (reverse l))))
  35.          ((< n (- (length l))) l)
  36.             ((= n 0) l)
  37.              ((= n 1) (cdr l))
  38.                (else (cons (car l) (list-rem (- n 1) (cdr l))))  ))
  39.  
  40. ;3 zad
  41. (define l2 '(1 4 2 2 3 4 5 5 5 ))
  42. (define l3 '(1 2 1 1 3 2 4 2 5))
  43.  
  44.  
  45. (define (remove l a)              
  46.   (cond ( (null? l) '())          
  47.         ( (= (car l) a) (cdr l))    
  48.         (else (cons (car l)(remove (cdr l) a)))))  
  49.        
  50. (define (smallest l curr);curr-curent smallest element
  51.          (if (null? l) curr
  52.        (if (< (car l) curr) (smallest (cdr l) (car l))
  53.          (smallest (cdr l) curr))))
  54.          
  55. (define (sort l)
  56.    (cond ( (null? l) '() )
  57.          ( else (cons (smallest l (car l)) (sort (remove l (smallest l (car l)))))                      
  58.          )))
  59.      
  60.  (define (contains-string l)
  61.             (if (null? l) #f
  62.           (if (string? (car l)) #t
  63.            (contains-string (cdr l)))))
  64.            
  65. ;if the list contains only numbers it should be sorted  otherwise it shouldn't be      
  66. (define (make-set l)
  67.       (if (contains-string l) (make-set-helper l)
  68. (sort (make-set-helper l))))
  69.  
  70. (define (make-set-helper l)
  71.         (if (null? l) '()
  72.       (if (member (car l) (cdr l))
  73.               (make-set-helper (cdr l))
  74. (cons (car l) (make-set-helper (cdr l))))))
  75.  
  76.  
  77. ;4 zad
  78. (define (list-rem-matrix n l)
  79.           (cond ((null? l) '())
  80.         ((> n (length l)) l)
  81.             ((= n -1) l)
  82.              ((= n 0) (cdr l))
  83.                (else (cons (car l) (list-rem-matrix (- n 1) (cdr l))))  ))
  84.  
  85.  
  86. (define (remove-ith-col m n)
  87.       (if (> n (length (car l))) (display "There isn't such a column")
  88.        (if (null? m) '()
  89.          (cons (list-rem-matrix n (car m)) (remove-ith-col (cdr m) n)))))
  90. ;;ili s map
  91. (define (remove-ith-col m n)
  92.       (if (> n (length (car m))) (display "There isn't such a column")
  93.        (if (null? m) '()
  94.          (map (lambda (x) (list-rem-matrix n x)) m))))
  95.          
  96.          
  97.  
  98. ;5 zad
  99. (define m '((1 2 3) (4 5 6) (7 8 9)))
  100. ;(define (transpose m)
  101.  ; (apply map list m))
  102. (define (transpose m)
  103.           (if (null? (car m)) '()
  104.          (cons (map car m) (transpose (map cdr m)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement