Поиск ближайших точек по координатам - Java

Узнай цену своей работы

Формулировка задачи:

На плоскости заданы 5 точек с координатами (x0, y0), (x1, y1) ... (x4, y4). Найти две ближайшие точки.
Листинг программы
  1. class Method{
  2. public static void main(String[] args){
  3. int n=5, m=2;
  4. int i, j;
  5. double distance;
  6. int[][] a = new int[5][2];
  7. a[0][0]=2;
  8. a[0][1]=-3;
  9. a[1][0]=5;
  10. a[1][1]=0;
  11. a[2][0]=3;
  12. a[2][1]=3;
  13. a[3][0]=9;
  14. a[3][1]=-5;
  15. a[4][0]=8;
  16. a[4][1]=4;
  17. for (i=0; i<n; i++){
  18. k=i+1;
  19. System.out.println("Koordinaty tochki " + k + ":");
  20. for (j=0; j<m; j++)
  21. {
  22. System.out.print(a[i][j]+" ");
  23. }
  24. System.out.println(" ");
  25. }
  26. for (i=0; i<n; i++)
  27. for (j=i+1; j<m; j++)
  28. {
  29. distance=Math.sqrt(Math.pow((a[i][0]-a[i+1][0]), 2)+Math.pow((a[i][1]-a[i+1][1]), 2));} }
  30. }
Мучаю-мучаю задание, ничего не приходит в голову, только бред какой-то ( Нужно создать метод, который бы проверял расстояние между точками и сравнивал его. Help please)

Решение задачи: «Поиск ближайших точек по координатам»

textual
Листинг программы
  1. static double getPointDist(Pnt a, Pnt b) {
  2.   return Math.sqrt(Math.pow((a.x-b.x), 2)+Math.pow((a.y-b.y), 2));
  3. }
  4.  
  5. public static void main(String[] a) {
  6.   //инициализируем массив растояний
  7.   double[][] distances = new double[5];
  8.   for (int i=0; i<5; i++) distances[i]  = new double[5];
  9.  
  10.   Pnt[] input = new Pnt[5]; // массив хранения точек
  11.   //... ввод данных
  12.  
  13.   for (int x=0; x<5; x++)
  14.     for (int y=0; y<5; y++) distances[x][y] = getPointDist(input[x], input[y]); // заполняем растояния
  15. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут