Shoelace formula for polygonal area: Difference between revisions

Content added Content deleted
(Add min)
Line 736: Line 736:
{{out}}
{{out}}
<pre>30</pre>
<pre>30</pre>

=={{header|min}}==
{{works with|min|0.19.3}}
<lang min>((((first) map) ((last) map)) cleave) :dezip
(((first) (rest)) cleave append) :rotate
((0 <) (-1 *) when) :abs

(
=b =a a size :n 0 :i () =list
(i n <) (
a i get b i get ' prepend list append #list
i succ @i
) while list
) :rezip

(rezip (-> *) map sum) :cross-sum

(
((dezip rotate) (dezip swap rotate)) cleave
((id) (cross-sum) (id) (cross-sum)) spread
- abs 2 /
) :shoelace

((3 4) (5 11) (12 8) (9 5) (5 6)) shoelace print</lang>
{{out}}
<pre>
30.0
</pre>


=={{header|Modula-2}}==
=={{header|Modula-2}}==