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

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

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

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

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

textual
Листинг программы
            
            Random gen = new Random();
 
            double Max = -1;
            int k = 0, n = 0;
 
            Point[] AllPoint = new Point[gen.Next(5, 30)];
            Point Point1= new Point(0,0);
            Point Point2 = new Point(0, 0);
 
            for (int i = 0; i < AllPoint.Length; i++)
            {
                AllPoint[i] = new Point(gen.Next(-10, 10), gen.Next(-10, 10));
                Console.WriteLine("Точка{0} : \tX={1}  \tY={2}", i + 1, AllPoint[i].X, AllPoint[i].Y);
 
            }
 
            for (int i = 0; i < AllPoint.Length; i++)
                for (int j = 0; j < AllPoint.Length; j++)
            {
                if(Max<Point.Virtuallength(AllPoint[i],AllPoint[j]))
                {
                    Max=Point.Virtuallength(AllPoint[i],AllPoint[j]);
                    Point1=AllPoint[i];
                    Point2=AllPoint[j];
                    k = i+1;
                    n = j+1;
 
                }
 
            }
 
            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
Похожие ответы