Помогите решить, пожалуйста. Дана точка на плоскости с координатами (x,y). Составить
Помогите решить, пожалуйста.
Дана точка на плоскости с координатами (x,y). Составить программу, которая выдаёт одно из известий "Да","Нет","На границе" в зависимости от того, лежит ли точка снутри заштрихованной области, вне заштрихованной области или на её границе. Области задаются графичиски следующим образом.
За ранее спасибо. (C)
using System;
using System.Collections.Generic;
using System.Linq;
internal class Program
private static readonly Funclt;double, double, Listlt;doublegt;gt;[] Fs_ =
(x, y) =gt; new Listlt;doublegt; //1
-(x * x + y * y - 9 * 9),
x
,
(x, y) =gt; new Listlt;doublegt; //2
-(x * x + y * y - 7 * 7),
x * x + y * y - 3 * 3
,
(x, y) =gt; new Listlt;doublegt; //3
x * x + y * y - 5 * 5,
-(x * x + y * y - 10 * 10),
y
,
(x, y) =gt; //4 - костыль
var values = new Listlt;doublegt;
-(x * x + y * y - 15 * 15),
x * x + y * y - 25 * 25
;
if (values.Any(v =gt; Math.Абс(v) lt; 0.01))
return new Listlt;doublegt; 0;
return values.Any(v =gt; v gt; 0) ? new Listlt;doublegt; 1 : new Listlt;doublegt; -1;
,
(x, y) =gt; new Listlt;doublegt; //5
-(x * x + y * y - 15 * 15),
-(Math.Abs(x) - y)
,
(x, y) =gt; new Listlt;doublegt; //6
-(Math.Абс(x) - y),
-(y - 12)
,
(x, y) =gt; new Listlt;doublegt; //7
-(x - 70),
x - y,
y
,
(x, y) =gt; new Listlt;doublegt; //8
-Math.Абс(x) - y,
-(-y - 100)
,
(x, y) =gt; new Listlt;doublegt; //9
-(x * x + y * y - 10 * 10),
-(-x - y)
,
;
private static void Main()
do
Console.Write("x = ");
var x = double.Parse(Console.ReadLine() ?? throw new InvalidOperationException());
Console.Write("y = ");
var y = double.Parse(Console.ReadLine() ?? throw new InvalidOperationException());
for (var i = 0; i lt; Fs_.Length; i++)
Console.WriteLine("F(i + 1) =gt; ContainsPoint(x, y, Fs_[i])");
while (true);
Console.ReadKey();
private static string ContainsPoint(double x, double y, Funclt;double, double, Listlt;doublegt;gt; f)
var values = f(x, y);
if (values.Any(v =gt; v lt; 0))
return "Нет";
return values.Any(v =gt; Math.Абс(v) lt; 0.01) ? "На границе" : "Да"; // Math.Abs(v) lt; 0.01 сопоставление с 0
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.