主题:急求答案!!!!
迷路的天使
[专家分:1340] 发布于 2009-07-15 20:00:00
按顺序输入一个多边形各端点的坐标值,计算并输出该多边形的周长.要求用二维数组做.急!!!
回复列表 (共4个回复)
沙发
angwuy [专家分:2280] 发布于 2009-07-16 21:59:00
如果端点是按顺序给的就直接求一次欧氏距离就可以,如果是打乱顺序就用凸包
板凳
迷路的天使 [专家分:1340] 发布于 2009-08-01 20:14:00
各位,帮我看下,这样错哪了??
program c_sum;
var
a:array[1..100,1..2] of real;
c:array[1..100] of real;
sum:real;
n,i,j:integer;
begin
readln(n);
for i:=1 to n do
for j:=1 to 2 do
read(a[i,j]);
for i:=1 to n-1 do
c[i]:=sqrt(sqr(a[i,1]-a[i+1,1])+sqr(a[i,2]-a[i+1,2]));
c[n]:=sqrt(sqr(a[n,1]-a[1,1])+sqr(a[n,2]-a[1,2]));
for i:=1 to n do sum:=sum+c[i];
writeln('c=',sum:8:3);
end.
3 楼
小田甜 [专家分:3910] 发布于 2009-08-01 21:22:00
我用的是TP+XP系统,没看出什么问题来,以下为我测试的数据(加粗为程序输出):
[QUOTE]4
0 0
0 1
1 1
1 0
[B]c= 4.000[/B]
[/QUOTE][QUOTE]3
0 0
1 0
0.5 0.86602540378443864676372317075294
[B]c= 3.000[/B]
[/QUOTE]
如果还有问题把测试数据发上来。
4 楼
abcwuhang [专家分:1840] 发布于 2009-08-20 17:40:00
鄙人记得在vijos上貌似有~~
我来回复