それは私の宿題から来ています。家系図があります
a + b
/ | | \
c+u d+c e+w f
/ | \ / \
m+x n+y o p q
|
r
a と b が最も古い。そして、すべての既婚者は、二人目は元の家族の一員ではありません。次に、配偶者、兄弟、子供、孫、両親、祖父母の関数を記述する必要があります。
私は以下のようにリストを書きました: ( (父母) chlid1 child2 child3)
(((a b) c d e f) ((c u) m n o) ((d v) nil) ((e w) p q) (f nil) ((m x) r) ((n y) nil) (o nil) (p nil) (q nil) )
兄弟機能に問題があります。これが私のコードです。
(defun sibling (arglst lst)
(cond
((eql
arglst (cdr (car lst)))
(rest (cdr lst))
)
(T (sibling (rest lst) arglst))
)
私はそれが間違っていることを知っていましたが、それを修正する方法がわかりません..また、他の機能についても助けが必要です。皆さんからヒントが得られることを願っています。