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

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

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

На плоскости заданы 5 точек с координатами (x0, y0), (x1, y1) ... (x4, y4). Найти две ближайшие точки.
class Method{
public static void main(String[] args){
int n=5, m=2;
    int i, j;
    double distance;
int[][] a = new int[5][2];
a[0][0]=2;
a[0][1]=-3;
a[1][0]=5;
a[1][1]=0;
a[2][0]=3;
a[2][1]=3;
a[3][0]=9;
a[3][1]=-5;
a[4][0]=8;
a[4][1]=4;
for (i=0; i<n; i++){
k=i+1;
System.out.println("Koordinaty tochki " + k + ":");
        for (j=0; j<m; j++)
{
System.out.print(a[i][j]+"  ");
}
System.out.println(" ");
}
 
    for (i=0; i<n; i++)
        for (j=i+1; j<m; j++)
        {
            distance=Math.sqrt(Math.pow((a[i][0]-a[i+1][0]), 2)+Math.pow((a[i][1]-a[i+1][1]), 2));} }
}
Мучаю-мучаю задание, ничего не приходит в голову, только бред какой-то ( Нужно создать метод, который бы проверял расстояние между точками и сравнивал его. Help please)

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

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

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


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

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

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