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