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