Задано множество точек в трехмерном пространстве
Задано множество точек в трехмерном пространстве. Найти минимум радиусов шаров с центрами в этих точках, содержащих ровно n точек этого множества.
Помогите пожалуйста! FreePascal или PascalABC.NET |
Да... весёлая задачка. Завтра с утра поразмыслю - раньше, увы, не получится.
|
Получите:
Код:
Const 1. Задается общее количество точек в пространстве (M). Их максимальное количество ограничено двенадцатью просто для удобства вывода на экран. 2. Задается количество точек внутри шаров (N). Естественно, должно выполняться условие N<M. 3. С помощью генератора случайных чисел задаются координаты x, y, z каждой из точек. Координаты выводятся на экран. 4. Создается двумерный массив расстояний (Dist) от каждой из точек до всех остальных, включая саму точку. Результат выводится на экран. 5. Линейные массивы-строки упорядочиваются по возрастанию методом пузырька. Таким образом, имеем матрицу, каждая строка которой соответствует точке, а по столбцам - расстояния от этой точки до других точек в порядке возрастания расстояний. Результат выводится на экран. 6. Легко видеть, что число N - это ни что иное, как N-й номер столбца. Считываем этот столбец в массив R. 7. Находим в массиве R минимальный элемент. Всё!!! |
Часовой пояс GMT +4, время: 12:18. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.