1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
|
||||||
1 | ||||||
Поиск ближайших точек по координатам15.02.2015, 23:53. Показов 7948. Ответов 7
Метки нет (Все метки)
На плоскости заданы 5 точек с координатами (x0, y0), (x1, y1) ... (x4, y4). Найти две ближайшие точки.
0
|
15.02.2015, 23:53 | |
Ответы с готовыми решениями:
7
Поиск ближайших точек Поиск ближайших точек, язык си Поиск пары ближайших точек Поиск трех ближайших точек к данной |
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
|
||||||
16.02.2015, 05:18 | 2 | |||||
Если всё самому реализовывать не обязательно, то уже есть готовый класс точки Point2D.Double. Можно типа так:
1
|
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
|
|
16.02.2015, 09:58 [ТС] | 3 |
Спасибо большое, с этим постараюсь разобраться, но думаю, что нужно таки вручную. Я только начинаю java учить и хочу все постепенно, чтоб не запутаться) можно как то через цикл for их сравнить? Наподобие много "кода". Просто определить длину каждой пары и сравнить после?
0
|
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
|
|
16.02.2015, 10:25 | 4 |
Можно и так. Например, записать все растояния в матрицу 5х5 и найти минимальный элемент (таких будет 2). Или в треугольный массив (сложнее, но не избыточно по памяти).
0
|
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
|
|
16.02.2015, 10:34 [ТС] | 5 |
Вот я про матрицу и хотела спросить. Не подскажите как реализовать это? А то не очень понимаю. Я думала матрицу 5x2 ну пять точек всего и у каждой по 2 координаты. Но с этим и запуталась.
Добавлено через 4 минуты А, я поняла почему 5 на 5... Просто тут мы не будем считать расстояние ад и да одинаковым.. Но проблема в том как узнать эти расстояния, какой то метод использовать, чтоб оно по очереди считало все 25 расстояний?
0
|
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
|
|||||||||||
16.02.2015, 10:47 | 6 | ||||||||||
В двойном цикле жи. Для удобства определите точку в отдельный класс:
1
|
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
|
|
16.02.2015, 14:58 [ТС] | 7 |
Не очень понятен вот этот отрывок( double[][] distances = new double[5]; почему слева у нас [][], а слева []? И вот это Pnt[] input = new Pnt[5]; что делает input? и как потом ввести данные?
Извините за назойливость. Ох, так туго идет эта задача хоть и простая вроде...(((
0
|
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
|
|
16.02.2015, 18:52 | 8 |
AlexHolmes,
doble[] - массив из чисел (список) doble[][] - массив из массивов чисел (таблица) distances = new double[5] - сначала выделяем память для "корневого" массива for (int i=0; i<5; i++) distances[i] = new double[5] - потом в цикле для каждого "подмассива" (строки) Pnt[] input = new Pnt[5] - объявляем и инициализируем (выделяем память для 5 ячеек) массив из объектов типа "Pnt".
1
|
16.02.2015, 18:52 | |
16.02.2015, 18:52 | |
Помогаю со студенческими работами здесь
8
Поиск ближайших точек на сфере. Заплатил бы Поиск двух ближайших друг к другу точек Поиск ближайших точек в пространстве которые образуют многогранник Нахождение ближайших пар точек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |