Три точки на плоскости заданны своими координатами . Между какими точками расстояние наименьшее (ПАСКАЛЬ!)

Ответы

Ответ дал: Аноним
0

PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018

Внимание! Если программа не работает, обновите версию!

type

 Pt = record

   x, y: real

 end;

 Res = record

   P1, P2: Pt;

   L2: real

 end;


function L(M1, M2: Pt): Res;

begin

 Result.P1 := M1;

 Result.P2 := M2;

 Result.L2 := Sqr(M2.x - M1.x) + Sqr(M2.y - M1.y)

end;


begin

 var M := new Pt[3];

 var R := new Res[3];

 for var i := 0 to 2 do

   Read(M[i].x, M[i].y);

 R[0] := L(M[0], M[1]);

 R[1] := L(M[0], M[2]);

 R[2] := L(M[1], M[2]);

 var minr := R.MinBy(t -> t.L2);

 var s := $'({minr.P1.x},{minr.P1.y}) и ({minr.P2.x},{minr.P2.y})';

 Println('Минимальное расстояние между точками', s)

end.

Пример

-2 1.5 0.5 3 3 -2

Минимальное расстояние между точками (-2,1.5) и (0.5,3)

Вас заинтересует