Найти номера пары точек, расстояние между которыми наибольшее - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д