В основе лежит формула определения расстояния между двумя точками в прямоугольной системе координат, при этом одна из точек совпадает с началом системы координат. В этом случае искомое расстояние определяется по формуле:
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их. Окончательно задача сводится к нахождению минимального из значений по заданным координатам х и у.
var ax, ay, bx, by, rx, ry: real;
begin writeln('Введите координаты первой точки'); readln(ax, ay); writeln('Введите координаты второй точки'); readln(bx, by); rx := sqr(ax) + sqr(ay); ry := sqr(bx) + sqr(by); if rx < ry then writeln('Первая точка ближе') else if rx > ry then writeln('Вторая точка ближе') else writeln('Обе точки равноудалены') end.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int x1,y2,x2,y2, r1, r2;
cin >> x1 >> y1 >> endl; //вводим координаты первой точки
cin >> x2 >> y2 >> endl; //вводим координаты второй точки
r1 = sqrt(x1*x1 + y1*y1); //находим расстояние от первой
r2 = sqrt(x2*x2+y2*y2) //от второй
if (r1>r2){
cout << "Точка 1 ближе к началу координат";
}
else{
cout << "Точка 2 ближе к началу координат";
}
else if (r1=r2){
cout << "Эти точки равны"
}
return 0;
}
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их.
Окончательно задача сводится к нахождению минимального из значений
по заданным координатам х и у.
var
ax, ay, bx, by, rx, ry: real;
begin
writeln('Введите координаты первой точки');
readln(ax, ay);
writeln('Введите координаты второй точки');
readln(bx, by);
rx := sqr(ax) + sqr(ay);
ry := sqr(bx) + sqr(by);
if rx < ry then writeln('Первая точка ближе')
else
if rx > ry then writeln('Вторая точка ближе')
else writeln('Обе точки равноудалены')
end.