Информатика даны координаты n на плоскости (x1,y1), (xn,yn) (n< =30). найдите номера двух точек, расстояние между которыми максимально (такая пара точек- есдинственная)
Программа на паскале: const n=5; var xy:array[1..n,1..2] of integer; i, j, imax, jmax:integer; r, max:real; begin Randomize; for i:=1 to n do begin for j:=1 to 2 do begin xy[i,j]:=random(21)-10; write(xy[i,j]:4); end; writeln; end; max:=0; for i:=1 to n-1 do for j:=i+1 to n do begin r:=sqr(xy[i,1]-xy[j,1])+sqr(xy[i,2]-xy[j,2]); if r>max then begin max:=r; imax:=i; jmax:=j; end; end; writeln('max = ',sqrt(r):5:2,', точки: ',imax,' - ',jmax); end.
const n=5;
var xy:array[1..n,1..2] of integer;
i, j, imax, jmax:integer;
r, max:real;
begin
Randomize;
for i:=1 to n do
begin
for j:=1 to 2 do
begin
xy[i,j]:=random(21)-10;
write(xy[i,j]:4);
end;
writeln;
end;
max:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
r:=sqr(xy[i,1]-xy[j,1])+sqr(xy[i,2]-xy[j,2]);
if r>max then begin max:=r; imax:=i; jmax:=j; end;
end;
writeln('max = ',sqrt(r):5:2,', точки: ',imax,' - ',jmax);
end.
Пример:
-8 3
-8 -3
7 2
2 10
-6 0
max = 12.81, точки: 2 - 4
PS. Если нужно на C++ - обращайтесь.