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

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

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

По рисунку ниже, нужно определить попадает ли точка в закрашенную область.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace практ_задание__4_2
  7. {
  8. class Popadanie
  9. {
  10. public float Y;
  11. public float Tochka()
  12. {
  13. bool b1;
  14. Console.WriteLine("Введите радиус окружности: ");
  15. float R = float.Parse(Console.ReadLine());
  16. Console.WriteLine("Введите координаты точки");
  17. Console.Write("По X: ");
  18. float X = float.Parse(Console.ReadLine());
  19. Console.Write("По Y: ");
  20. float Y = float.Parse(Console.ReadLine());
  21. b1 = (Y <= 0) && (Y >= 0) && (Math.Sqrt(X) < 0); // внутри и на границе окружности
  22. if (b1) return 1;
  23. else return 0;
  24. }
  25. public float Zavicim()
  26. {
  27. Console.WriteLine("Введите X: ");
  28. float X = float.Parse(Console.ReadLine());
  29. if ((X < -9) && (X > 9))
  30. {
  31. Console.WriteLine("Х не входит в диапозон возможных значений!");
  32. Console.WriteLine("Введите X: ");
  33. X = float.Parse(Console.ReadLine());
  34. }
  35. if ((X >= -9) && (X <= -3))
  36. {
  37. Y = (float)Math.Sqrt(9 - Math.Pow((X + 6), 2));
  38. }
  39. if ((X >= -6) && (X < -3))
  40. {
  41. Y = 3;
  42. }
  43. if ((X >= -4) && (X <= 0))
  44. {
  45. Y = ((2 / -4) * X) + 2;
  46. }
  47. if ((X >= 0) && (X <= Math.PI))
  48. {
  49. Y = (float)Math.Sin(X);
  50. }
  51. if (X >= Math.PI)
  52. {
  53. Y = (float)(X - Math.PI); return Y;
  54. }
  55. return Y;
  56. }
  57. }
  58. class Program
  59. {
  60. static void Main(string[] args)
  61. {
  62. Popadanie s = new Popadanie();
  63. Console.WriteLine("Если результат равен 1, то заданная точка попадает в закрашенную область, 0-не попадает!");
  64. Console.WriteLine(s.Tochka());
  65. Console.WriteLine("Описание математического объекта");
  66. Console.WriteLine(s.Zavicim());
  67. Console.ReadKey();
  68. }
  69. }
  70. }

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

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

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


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

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

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы