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