Умоляю даны координаты точек а(х1,у1), в(х2,у2), с(х3,у3). найти, ка- кие две точки расположены ближе друг к другу. координаты ввести с клавиатуры. (паскаль через if)

SureckMozg SureckMozg    3   02.10.2019 23:50    0

Ответы
Adiya1234567 Adiya1234567  09.10.2020 12:46
Функционал

Ввести с клавиатуры координаты x, y точек A, B, C. Вывести две точки, расстояние между которыми минимально, а также само расстояние между ними.


Алгоритм решенияФормула расстояния между двумя точками на плоскости:

dst(A, B)=\sqrt{(x_A-x_B)^2+(y_A-y_B)^2}

Воспользуемся этой формулой. Предположим, что между точками A и B наименьшее расстояние. Проверим - если между точками B и C расстояние меньше, то обновим ответ. То же самое сделаем с точками A и C.


Код

В ansdst храним минимальное расстояние, в ans - названия двух ближайших друг к другу точек

var x1, y1, x2, y2, x3, y3, ansdst: real;

 ans: string;

begin

 read(x1, y1, x2, y2, x3, y3);

 ans:='A B';

 ansdst:=sqr(x2-x1)+sqr(y2-y1);

 if sqr(x2-x3)+sqr(y2-y3)>ansdst then

 begin

   ans:='B C';

   ansdst:=sqr(x2-x3)+sqr(y2-y3);

 end;

 if sqr(x1-x3)+sqr(y1-y3)>ansdst then

 begin

   ans:='A C';

   ansdst:=sqr(x1-x3)+sqr(y1-y3);

 end;

 writeln(ans);

 writeln(sqrt(ansdst));

End.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика