Неправильно.
Мак МилланУченик (93)
3 дня назад
// Проверка принадлежности к полукругу в четвертой четверти (нижняя правая часть)
bool isInLowerSemiCircle = (x >= 0 && y <= 0) && (Math.Pow(x, 2) + Math.Pow(y, 2) <= Math.Pow(R, 2));
// Проверка принадлежности к четверти круга во второй четверти (верхняя левая часть)
bool isInUpperLeftQuarterCircle = (x <= 0 && y >= 0) && (Math.Pow(x - R, 2) + Math.Pow(y - R, 2) <= Math.Pow(R, 2));
Я так понимаю вот так должно быть ?
Область задана графическим способом. Координаты точки и дополнительные данные, определяющие геометрию области и необходимые для решения задачи, вводятся пользователем.
Схема, на которой заданная область выделена штриховкой.
Подскажите правильно ли я задал области
using System;
class Lab01_03
{
static void Main()
{
// Ввод данных
Console.WriteLine("Введите радиус R:");
double R = double.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки:");
Console.Write("X: ");
double x = double.Parse(Console.ReadLine());
Console.Write("Y: ");
double y = double.Parse(Console.ReadLine());
// Проверка принадлежности к верхней части (круг в первой четверти)
bool isInUpperCircle = (x >= 0 && y >= 0) && (Math.Pow(x - R, 2) + Math.Pow(y - R, 2) <= Math.Pow(R, 2));
// Проверка принадлежности к нижней части (полуокружность в третьей четверти)
bool isInLowerSemiCircle = (x <= 0 && y <= 0) && (Math.Pow(x, 2) + Math.Pow(y, 2) <= Math.Pow(R, 2));
// Результат
if (isInUpperCircle)
{
Console.WriteLine("Точка принадлежит верхней части (круг в первой четверти).");
}
else if (isInLowerSemiCircle)
{
Console.WriteLine("Точка принадлежит нижней части (полуокружность в третьей четверти).");
}
else
{
Console.WriteLine("Точка не принадлежит области.");
}
Console.ReadLine();
}
}