Const
nm = 50;{максимальная длина массива}
type
Mas = array[1..nm] of real;
var
i, j, n: integer;
x, y: Mas;
d, dmin: real;
function SqrDist(p, q: integer): real;
{ Возвращает квадрат расстояния между точками }
begin
SqrDist := sqr(x[q] - x[p]) + sqr(y[q] - y[p])
end;
begin
Write('Введите количество точек -> ');
Readln(n);
Writeln('Вводите координаты каждой точки (x,y) через пробел');
for i := 1 to n do
begin
Write('точка ', i, ': ');
Readln(x[i], y[i]);
end;
dmin := 1e10; { значение, заведомо большее реально возможного }
for i := 1 to n do
for j := i + 1 to n do
begin
d := SqrDist(i, j);
if dmin > d then dmin := d
end;
Writeln('Минимальное расстояние между точками равно ', sqrt(dmin):0:4)
end.
Тестовое решение:
Введите количество точек -> 5
Вводите координаты каждой точки (x,y) через пробел
точка 1: 3.4 7.2
точка 2: -3 8.6
точка 3: -4.5 -5.1
точка 4: 6 -2
точка 5: 0 9
Минимальное расстояние между точками равно 3.0265