summaryrefslogtreecommitdiff
path: root/coding-exercises/2/46.rkt
blob: 91fad042a730f8798edcae9b477ac763034b9797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#lang racket
;; (require "../../shared/lists.rkt")
;; 
;; (define (make-vect x y)
;;   (cons x y))
;; (define (xcor-vect v)
;;   (car v))
;; (define (ycor-vect v)
;;   (cdr v))
;; 
;; (define (add-vect . v)
;;   (make-vect 
;;     (fold-right + 0 (map xcor-vect v))
;;     (fold-right + 0 (map ycor-vect v))))
;; (define (sub-vect . v)
;;   (let ((xcors (map xcor-vect v))
;;         (ycors (map ycor-vect v)))
;;    (make-vect
;;      (- (car xcors) (fold-right + 0 (cdr xcors)))
;;      (- (car ycors) (fold-right + 0 (cdr ycors))))))
;; (define (scale-vect s v)
;;   (make-vect (* s (xcor-vect v))
;;              (* s (ycor-vect v))))
(require "../../shared/pict.rkt")
(define test-vec (make-vect 1 2))
(define test-vec2 (make-vect 3 4))
((lambda ()
   (display (add-vect test-vec test-vec2))
   (newline)
   (display (sub-vect test-vec test-vec2))
   (newline)
   (display (scale-vect 3 test-vec))))