Определить пару точек,которые наиболее близки друг к другу - C#

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

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

1)Задано 10 точек , определить пару точек,которые наиболее близки друг к другу 2)Для 10 точек определить ,находятся они на окружности или хотя бы в кольце есть некоторые наработки,но дальше дело не пошло
namespace KlassPoint
{
    class Point
    {
        double x, y;
        public Point(double x, double y)
        {
            this.x = x;
            this.y = y;
        }
        public void Move(double dx, double dy)
        {
            x = x + dx;
            y = y + dy;
        }
        public double Distance()
        {
            return Math.Sqrt(x * x + y * y);
        }
        public double Distance(Point p)
        {
            return Math.Sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
        }
        public static double Distance(Point d, Point f)
        {
            return Math.Sqrt((d.x - f.x) * (d.x - f.x) + (d.y - f.y) * (d.y - f.y));
        }
    }
    class Program
    {
        static void Main(string[] args)
        { 
            Point A = new Point(0, 0);
            Point B = new Point(0, 4);
            Point C = new Point(5, 0);
            Point min;
            if (A.Distance() < B.Distance() && A.Distance() < C.Distance())
                min = A;
            if (B.Distance() < A.Distance() && B.Distance() < C.Distance())
                min = B;
            if (C.Distance() < A.Distance() && C.Distance() < B.Distance())
                min = C;
            Point.Distance(A,B);
         }
    }
}

Решение задачи: «Определить пару точек,которые наиболее близки друг к другу»

textual
Листинг программы
int minP1 = 0, minP2 = 1; { в качестве минимального первоначально 
                    берём расстояние от 1-й до 2-й точки (т.е. индексы 0 и 1}
double MinDistance =  Distance( P[0], P[1] );
for(int i=0; i<N-2; i++) 
{
  for(int j=i+1; j<N-1; j++) 
  {
     if(Distance( i, j) < MinDistance) 
    {
       MinDistance = Distance( i, j);
       minP1 = i; minP2 = j;
    } 
   }
}
 
Console.WriteLine('Минимальное расстояние {0} между точками {1} и {2}', MinDistance, minP1, minP2 );

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


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

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

11   голосов , оценка 3.818 из 5
Похожие ответы