Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.81 KB | None | 0 0
  1. (define T (list (list 11 12 13 14 15)
  2.                 (list 21 22 23 24 25)
  3.                 (list 31 32 33 34 35) ))
  4.  
  5. (define empty-table '())
  6.  
  7.  
  8. (define (last x)
  9.   (if (null? (cdr x)) x
  10.       (last (cdr x))))
  11.  
  12. (define (append! x y)
  13.   (begin (set-cdr! (last x) y)
  14.          x))
  15.  
  16. (define (sum l)
  17.   (if (null? l) 0
  18.       (+ (car l)(sum (cdr l)))))
  19.  
  20. (define (sumlists l1 l2)
  21.   (if (null? l1) l2
  22.       (append (list (+ (car l1) (car l2))) (sumlists (cdr l1) (cdr l2)))))
  23.  
  24. (define (sumcols T)
  25.   (if (null? T) T
  26.       (sumlists(sumlists (car T) (cadr T)) ((sumcols (cddr T)) ))))
  27.      
  28. (define (process-rows! T)
  29.   (cond ((null? T) T)
  30.         (else (append! (car T) (list(sum (car T)))) (process-rows! (cdr T)))))
  31.  
  32. (define (process-cols! T)
  33.   (cond ((null? T) T)
  34.         (else (append! T (sumcols T)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement