Дано множество A из N точек (точки заданы своими координатами x, y). Найти пару точек этого множества с максимальным расстоянием между ними и само это расстояние

Точки выводятся в том же порядке, в котором они перечислены при задании множества A

code: #pascal
Program Array134;
Const
 max = 20;
Type
 point = Record
  x,y:real;
 End;
Var
 a:Array [1..max] Of point;
 i,j,n,c1,c2:integer;
Function Dist(p1,p2:point):real;
Begin
 Dist:=sqrt(sqr(p2.x-p1.x)+sqr(p2.y-p1.y));
End;
Begin
 readln(n);
  For i:=1 to n do
    read(a[i].x,a[i].y);
  c1:=1;
  c2:=2;
 For i:=1 to n-1 do
  For j:=i+1 to n do
   If dist(a[i],a[j]) > dist(a[c1],a[c2]) then 
     Begin
       c1:=i;
       c2:=j;
     End;
  writeln(a[c1].x,a[c1].y,a[c2].x,a[c2].y,dist(a[c1],a[c2]));
End.

автор: Mr.Y

Поделиться:

Похожие статьи: