Не могу исправить ошибку (всегда выводит 0) - C#

Узнай цену своей работы

Формулировка задачи:

По рисунку ниже, нужно определить попадает ли точка в закрашенную область.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace практ_задание__4_2
{
    class Popadanie
    {
        public float Y;
        public float Tochka()
        {
            bool b1;
            Console.WriteLine("Введите радиус окружности: ");
            float R = float.Parse(Console.ReadLine());
            Console.WriteLine("Введите координаты точки");
            Console.Write("По X: ");
            float X = float.Parse(Console.ReadLine());
            Console.Write("По Y: ");
            float Y = float.Parse(Console.ReadLine());
            b1 = (Y <= 0) && (Y >= 0) && (Math.Sqrt(X) < 0); // внутри и на границе окружности
 
            if (b1) return 1;
            else return 0;
        }
 
        public float Zavicim()
        {
            Console.WriteLine("Введите X: ");
            float X = float.Parse(Console.ReadLine());
            if ((X < -9) && (X > 9))
            {
                Console.WriteLine("Х не входит в диапозон возможных значений!");
                Console.WriteLine("Введите X: ");
                X = float.Parse(Console.ReadLine());
            }
            if ((X >= -9) && (X <= -3))
            {
                Y = (float)Math.Sqrt(9 - Math.Pow((X + 6), 2));
            }
            if ((X >= -6) && (X < -3))
            {
                Y = 3;
            }
            if ((X >= -4) && (X <= 0))
            {
                Y = ((2 / -4) * X) + 2;
            }
            if ((X >= 0) && (X <= Math.PI))
            {
                Y = (float)Math.Sin(X);
            }
            if (X >= Math.PI)
            {
                Y = (float)(X - Math.PI); return Y;
            }
            return Y;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Popadanie s = new Popadanie();
            Console.WriteLine("Если результат равен 1, то  заданная точка попадает в закрашенную область, 0-не попадает!");
            Console.WriteLine(s.Tochka());
            Console.WriteLine("Описание математического объекта");
            Console.WriteLine(s.Zavicim());
            Console.ReadKey();
        }
    }
}

Решение задачи: «Не могу исправить ошибку (всегда выводит 0)»

textual
Листинг программы
if (y >= 0 && x * x + y * y <= R * R || y < 0 && y >= -R && x <= 0 && y - x <= 0)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы