Я работаю над основами Схемы, и мне нужно найти способ добавить два элемента списков вместе (x1 + x2, y1 + y2, z1 + z2) в один список, чтобы он стал (x3, y3, z3))!
Я выяснил, что для вычитания элементов двух списков я могу использовать ключевое слово «remove», а для добавления элементов list2 в list1 я могу использовать «append», есть ли что-то похожее для добавленияфактические элементы вместе?
Вот что у меня пока есть:
(define (my-vector x y z) (list x y z ))
(define first-vector '(1 2 3))
(define second-vector '(4 5 6))
first-vector
second-vector
(define (get-x1 first-vector)(car first-vector))
(define (get-y1 first-vector)(car (cdr first-vector)))
(define (get-z1 first-vector)(car (cdr (cdr first-vector))))
(define (get-x2 second-vector)(car second-vector))
(define (get-y2 second-vector)(car (cdr second-vector)))
(define (get-z2 second-vector)(car (cdr (cdr second-vector))))
(define (combine-vectors first-vector second-vector)
(if (null? first-vector)
second-vector
(cons (car first-vector)
(combine-vectors (cdr first-vector) second-vector))))
(define combined-vectors (combine-vectors first-vector second-vector))
combined-vectors
(define subtract-vectors (remove '(first-vector) second-vector))
(+ (get-x1 first-vector) (get-x2 second-vector))
(+ (get-y1 first-vector) (get-y2 second-vector))
(+ (get-z1 first-vector) (get-z2 second-vector))
вывод в настоящее время
(list 1 2 3)
(list 4 5 6)
(list 1 2 3 4 5 6)
5
7
9
Я хочу, чтобы 5 7 9 прочитал (список 5 79)! Спасибо за любую помощь заранее:)