2017-10-26 24 views
-2

問題は、p1、p2、p3、p4と呼ばれるポリゴンコーナーについての完全な座標リストがあることです。 (p1、p2)(p2、p3)(p3、p4)(p4、p1)そして、これらのリストを再帰的に新しいリストに追加する必要があります(p1 p2 p3 p4)リストに再帰的に追加する

+0

うまくいきましたか?うまくいかないコードが含まれています(実際はそうしているうちに、実際にコードを動作させるでしょう:)) –

答えて

0

私はラケットの専門家ではありませんので、塩の穀物でこの解決策をとってください。リストの最初の値を最後に追加し、再帰的にペアを計算することができます。

#lang racket 

(define (pair-list l) 
    (match l 
    [(cons a (cons b '())) (cons (cons a b) '())] 
    [(cons a (cons b t)) (cons (cons a b) (pair-list (cons b t)))])) 

(define (compute-values l) 
    (pair-list (append l (cons (first l) '())))) 

(compute-values (list 1 2 3 4)) 
'((1 . 2) (2 . 3) (3 . 4) (4 . 1)) 
関連する問題