Дано множество точек с координатами на плоскости.Написать программу, которая использует подпрограммы и выведит на экран наименьшее расстояние между двумя точками.

Дано множество точек с координатами на плоскости. Написать программу, которая использует подпрограммы и выведит на экран наименьшее расстояние между двумя точками.
Гость
Ответ(ы) на вопрос:
Гость
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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы