Циклы, обработка функций. Определить кол-во точек, принадлежащих кругу - C#
Формулировка задачи:
Задание:
Значения функции sin(x)+cos(x) определены при x=x0(h)xn
определить, сколько значений функции f(x) принадлежат окружности с центром в точке (a,b) радиуса R.
проблема с проверкой принадлежности окружности.
точнее, я вообще не понимаю, как это реализовать.
вот что только получилось на(ш)кодить
то есть это просто оформление
нужен какой-то умный цикл (который точно умнее меня).
помогите
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication18
{
class Program
{
static double dblX, dblX0, dblXn, dblHx, R, dbla, dblb, dblD;
static int i;
static bool Parse(ref double dblTmp, string strTmp)
{
try
{
Console.Write(strTmp);
dblTmp = double.Parse(Console.ReadLine());
return true;
}
catch (SystemException err)
{
Console.WriteLine(err.Message); //обработка ошибок
return false;
}
}
static double dblFl(double dblX)
{
return Math.Sin(dblX) + Math.Cos(dblX);
}
static void Main()
{
while (!Parse(ref dblX0, "Введите начальное X, X0= ")) ;
while (!Parse(ref dblXn, "Введите конечное значение X, Xn= ")) ;
while (!Parse(ref dblHx, "Введите шаг изменения X, h= ")) ;
while (!Parse(ref dbla, "Введите координату a= ")) ;
while (!Parse(ref dblb, "Введите координату b= ")) ;
while (!Parse(ref R, "Введите радиус, R= ")) ;
{
}
Console.WriteLine("Заданной окружности принадлежит {0:f1} точек", i);
Console.ReadKey();
}
}
}Решение задачи: «Циклы, обработка функций. Определить кол-во точек, принадлежащих кругу»
textual
Листинг программы
public static bool CircleContains(Point center, float radius, Point point)
{
var f = Math.Pow(center.X - point.X, 2) + Math.Pow(center.Y - point.Y, 2);
return f <= Math.Pow(radius, 2);
}