Hallo Theodor,
so funktioniert es bei mir:
[code]
(defun mapcdr(expr liste / retl)
(repeat(1-(length liste))
(setq retl
(cons (apply expr(list liste)) retl)
)
(setq liste(cdr liste))
)
(reverse retl)
)
(defun c:test ( / )
(setq punkteliste
'(("1"(0.0 0.0 0.0))
("2"(10.0 10.0 0.0))
("3"(120.120 120.0 0.0))
("4"(140.140 140.0 0.0))))
(car(vl-sort
(apply'append
(mapcdr
'(lambda(rest / )
(mapcar
'(lambda(car-von-rest / )
(list(list (car(car rest))(car car-von-rest))
(distance(cadr(car rest))(cadr car-von-rest)))
)
(cdr rest)
)
)
punkteliste
)
)
'(lambda(e1 e2)(>(cadr e1)(cadr e2)))))
)
[code]
Befehl: TEST
(("1" "4") 198.089)
Die Punktnummern "1" bis "4" habe ich nur beispielhaft verwendet
------------------
viele Grüße
Jörn
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP