@Orbalisk

Поможете с задачей по программированию?

Не могу понять формулировку задания.

Координаты n точек заданы как элементы одномерного массива. Нечётные элементы - значения ординат, а четные абсцисс. Вычислить минимальное расстояние между ближайшими точками. Вывести координаты всех точек, которые попадают в кольцо с координатами центра X0, Y0, внутренним радиусом R1 и внешним радиусом R2. Упорядочить положение точек по возрастанию.
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
si1n3rd
@si1n3rd
В массиве координаты идут так: [y0,x0,y1,x1,y2,x2,...,yn,xn]. Проходите по массиву и вычисляете расстояние между точками по формуле (под спойлером).
Расстояние между двумя точками
5dce9f934a5a5229751968.png
Дальше определяете лежит ли точка в кольце. Вычисляете длину отрезка между центром кольца и точкой. Если расстояние больше внутреннего радиуса и меньше внешнего, то точка в кольце. Вроде как-то так. А вот в "упорядочить точки" непонятно одно, по возрастанию чего упорядочивать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Zoominger
@Zoominger
Сись админ
Ну строите векторы по точкам и ищите самый короткий, это будет минимальное расстояние.

Потом ищите, входят ли точки в диапазон, который задан кольцом, это вторая часть.

Ну и сортируете, эта третья часть задания.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы