Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Составить программу на C#

Денис Дисов Ученик (140), закрыт 1 месяц назад
Составить программу, определяющую принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. Координаты точки необходимо ввести с клавиатуры (
(для некоторых заданий кроме координат точки нужно задать радиус окружности r)
Лучший ответ
Ксения Райт Гений (72221) 2 месяца назад
Почему шизофренический бред нейросети до сих пор у Вас не в бане? Что - минус нажать не можете? Пока в Вашем вопросе торчит и топчется эта тупая шиза отвечать Вам совершенно бессмысленно!
А вообще так:
 using System; 
class Program
{
static void Main()
{
double x, y;
while (true)
{
Console.Write("x y: ");
var line = Console.ReadLine().Split();
x = double.Parse(line[0]);
y = double.Parse(line[1]);
if (y>=0 && (x<=0 && x*x+y*y<=9 || x>=0 && 2*y<=6-x))
Console.WriteLine("Yes"); else Console.WriteLine("No");
}
}
}
Остальные ответы
Татьяна Мудрец (19962) 2 месяца назад
Для определения принадлежности точки заштрихованной части плоскости можно использовать различные методы, например, проверку принадлежности точки треугольнику или плоскости. Один из подходов - использование метода барицентрических координат
Для этого можно задать координаты трех вершин треугольника и проверить, лежит ли точка внутри треугольника. Другой подход - использование плоскости
Для этого можно задать уравнение плоскости и проверить, находится ли точка по нужную сторону от плоскости.
Пример программы на C# для определения принадлежности точки плоскости с использованием плоскости:
 using System; 

class Program
{
static void Main(string[] args)
{
// Задаем координаты точки
Console.WriteLine("Введите координаты точки (x, y):");
double x = double.Parse(Console.ReadLine());
double y = double.Parse(Console.ReadLine());

// Задаем уравнение плоскости
double a = 1;
double b = 2;
double c = -3;
double d = 4;

// Вычисляем значение функции для заданной точки
double f = a * x + b * y + c;

// Проверяем, находится ли точка по нужную сторону от плоскости
if (f > -d)
{
Console.WriteLine("Точка находится внутри заштрихованной области.");
}
else
{
Console.WriteLine("Точка находится вне заштрихованной области.");
}
}
}
В данном примере задается уравнение плоскости в виде ax + by + cz + d = 0, где a, b, c и d - коэффициенты плоскости. Затем для заданной точки (x, y) вычисляется значение функции f(x, y) = ax + by + c. Если значение функции больше, чем -d, то точка находится внутри заштрихованной области, иначе - вне.
Обратите внимание, что в данном примере уравнение плоскости задано в явном виде. В общем случае уравнение плоскости может быть задано другим способом, например, через три точки, лежащие на плоскости
Jurijus Zaksas Искусственный Интеллект (408522) 2 месяца назад
Лови, наслаждайся:
 namespace ConsoleApp1 
{
class Point
{
private double x;
private double y;
public double X { get => x; }
public double Y { get => y; }
public Point(double _x, double _y)
{
x = _x;
y = _y;
}
}
class Line
{
private double k;
private double b;
public double K { get => k; }
public double B { get => b; }
public Line(Point p1, Point p2)
{
k = (p2.Y - p1.Y) / (p2.X - p1.X);
b = p1.Y - k * p1.X;
}
public bool Above(Point pt)
{
double y = k * pt.X + b;
return y <= pt.Y;
}
public bool Below(Point pt)
{
double y = k * pt.X + b;
return y >= pt.Y;
}
}
class Circle
{
private Point center;
private double r;
public Point Center { get => center; }
public double R { get => r; }
public Circle(Point _Center, double _r)
{
center = _Center;
r = _r;
}
public bool InCircle(Point _pt) => (Center.X - _pt.X) * (Center.X - _pt.X) + (Center.Y - _pt.Y) * (Center.Y - _pt.Y) <= r * r;
}
internal class Program
{
static void Main(string[] args)
{
double x = double.Parse(Console.ReadLine());
double y = double.Parse(Console.ReadLine());
Circle c = new Circle(new Point(0, 0), 3);
Line l1 = new Line(new Point(0, 3), new Point(6, 0));
Line l2 = new Line(new Point(0, 0), new Point(1, 0));
Point pt = new Point(x, y);
Console.WriteLine((c.InCircle(pt) && l2.Above(pt) && x <= 0) || l2.Above(pt) && l1.Below(pt) && x>0);
Console.ReadLine();
}
}
}
Похожие вопросы