Найти номера пары точек, расстояние между которыми наибольшее - C#

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

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

Даны координаты п точек на плоскости (x1, y1), •••(xn , yn) (n < 30). Найти номера пары то-чек, расстояние между которыми наибольшее (считать, что такая пара единственная).

Решение задачи: «Найти номера пары точек, расстояние между которыми наибольшее»

textual
Листинг программы
  1.            
  2.             Random gen = new Random();
  3.  
  4.             double Max = -1;
  5.             int k = 0, n = 0;
  6.  
  7.             Point[] AllPoint = new Point[gen.Next(5, 30)];
  8.             Point Point1= new Point(0,0);
  9.             Point Point2 = new Point(0, 0);
  10.  
  11.             for (int i = 0; i < AllPoint.Length; i++)
  12.             {
  13.                 AllPoint[i] = new Point(gen.Next(-10, 10), gen.Next(-10, 10));
  14.                 Console.WriteLine("Точка{0} : \tX={1}  \tY={2}", i + 1, AllPoint[i].X, AllPoint[i].Y);
  15.  
  16.             }
  17.  
  18.             for (int i = 0; i < AllPoint.Length; i++)
  19.                 for (int j = 0; j < AllPoint.Length; j++)
  20.             {
  21.                 if(Max<Point.Virtuallength(AllPoint[i],AllPoint[j]))
  22.                 {
  23.                     Max=Point.Virtuallength(AllPoint[i],AllPoint[j]);
  24.                     Point1=AllPoint[i];
  25.                     Point2=AllPoint[j];
  26.                     k = i+1;
  27.                     n = j+1;
  28.  
  29.                 }
  30.  
  31.             }
  32.  
  33.             Console.WriteLine("Максимальное расстояние между точками  Точка{4} \t{0},{1} \t Точка{5} \t{2},{3} ", Point1.X, Point1.Y, Point2.X, Point2.Y,k,n);

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


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

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

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

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

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

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