Помогите пожалуйста. Информатика Даны координаты n ** плоскости (X1,Y1), ..., (Xn,Yn)...

0 голосов
46 просмотров

Помогите пожалуйста. Информатика

Даны координаты n на плоскости (X1,Y1), ..., (Xn,Yn) (n<=30). Найдите номера двух точек, расстояние между которыми максимально (такая пара точек- есдинственная)


Информатика (66 баллов) | 46 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа на паскале:
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++ - обращайтесь.

(194k баллов)