Определить, сколько точек множества попадает в круг с центром в первой точке - C#

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

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

Дано множество точек на плоскости. Сколько точек данного множества попадает в круг с центром в первой точке и радиусом равным расстоянию между двумя последними точками

Решение задачи: «Определить, сколько точек множества попадает в круг с центром в первой точке»

textual
Листинг программы
using System;
 
 
 
namespace cyb20 {
    class Vector {
        //Свойства
        public double X { get; set; }
        public double Y { get; set; }
 
        //Методы
        public static Vector operator  -(Vector u, Vector w) {
            return new Vector() {
                                  X=u.X-w.X,
                                  Y=u.Y-w.Y
                                };
        }
        public double mod() {
            return Math.Sqrt(X*X+Y*Y);
        }
        public override string ToString() {
            return string.Format("({0},{1})",X,Y);
        }
    }
    class Program {
        static void Main() {
            //Делаем массив векторов, указывающих на точки
            Vector[] m= {                         
                         new Vector(){ X=1, Y=2 }, 
                         new Vector(){ X=4, Y=3 },
                         new Vector(){ X=5, Y=6 },                           
                         new Vector(){ X=7, Y=-6 },   
                         new Vector(){ X=8, Y=7 },
                         new Vector(){ X=9, Y=10 },
                       };
            //Этот вектор указывает на центр круга
            Vector c=m[0];
 
            //Определим радиус круга
            int l=m.Length;
            double r=(m[l-1]-m[l-2]).mod();
 
            //Пройдемся по массиву, опеределяя лежит точка в круге или нет
            int cnt=0;
            for (int i=0; i<l; i++)
                if ((m[i]-c).mod()<=r)
                    cnt++;
 
            Console.WriteLine("Внутри круга лежит {0} точек, с учетом центра",cnt);
            Console.ReadLine();
            
        }
    }
}

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


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

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

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