Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке - C#

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

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

Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке. Вроде бы задание элементарное, но мои познания в математики на столько скудны, что я не смог справиться с треугольником, попытался найти формулу, но у меня не вышло
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication1
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. float R = 0f;
  12. float X = 0f;
  13. float Y = 0f;
  14. while (R <= 0)
  15. {
  16. Console.WriteLine("Введите значение R: ");
  17. R = Convert.ToSingle(Console.ReadLine());
  18. }
  19. Console.Write("Введите Х ");
  20. X = Convert.ToSingle(Console.ReadLine());
  21. Console.Write("Введите Y ");
  22. Y = Convert.ToSingle(Console.ReadLine());
  23. if (X >= -R && X <= R && Y <= R && Y >= -R)
  24. {
  25. if (X <= 0 && Y >= 0 && Math.Pow(X, 2) + Math.Pow(Y, 2) <= Math.Pow(R, 2))//krug
  26. {
  27. Console.WriteLine("1Точка с координатами ({0};{1}) попала в закрашенную область", X.ToString(), Y.ToString());
  28. }
  29. else if (X >= 0 && Y <= 0 && X <= R && Y >= -R)//treygolnik
  30. {
  31. double tx1 = -(Y / 2);
  32. double ty2 = -(X * 2);
  33. double tx3 = (R + Y + 4) / 2;
  34. double ty4 = 2 * (X - (R / 2)) - 4;
  35. if (X <= R / 2 && Y >= -R && X <= tx1 && Y <= ty2)
  36. {
  37. Console.WriteLine("2Точка с координатами ({0};{1}) попала в закрашенную область", X.ToString(), Y.ToString());
  38. }
  39. else if (X>=(R/2) && tx3>=X && ty4<=Y && Y>=-R)
  40. {
  41. Console.WriteLine("3Точка с координатами ({0};{1}) попала в закрашенную область", X.ToString(), Y.ToString());
  42. }
  43. else
  44. {
  45. Console.WriteLine("1Точка с координатами ({0};{1}) не попала никуда.", X.ToString(), Y.ToString());
  46. }
  47. }
  48. }
  49. else
  50. {
  51. Console.WriteLine("2Точка с координатами ({0};{1}) не попала никуда.", X.ToString(), Y.ToString());
  52. }
  53. Console.ReadKey();
  54.  
  55. }
  56. }
  57. }

Решение задачи: «Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке»

textual
Листинг программы
  1.             float R = 0f;
  2.             float X = 0f;
  3.             float Y = 0f;
  4.  
  5.             while (R <= 0)
  6.             {
  7.                 Console.WriteLine("Введите значение R: ");
  8.                 R = Convert.ToSingle(Console.ReadLine());
  9.             }
  10.             Console.Write("Введите Х ");
  11.             X = Convert.ToSingle(Console.ReadLine());
  12.             Console.Write("Введите Y ");
  13.             Y = Convert.ToSingle(Console.ReadLine());
  14.             if (X >= -R && X <= R && Y <= R && Y >= -R)
  15.             {
  16.                 if (X <= 0 && Y >= 0 && Math.Pow(X, 2) + Math.Pow(Y, 2) <= Math.Pow(R, 2))//krug
  17.                 {
  18.                     Console.WriteLine("1Точка с координатами ({0};{1}) попала в закрашенную  область(фигура1)", X.ToString(), Y.ToString());
  19.                 }
  20.                 else if (X >= 0 && Y <= 0 && X <= R && Y >= -R)//treygolnik
  21.                 {
  22.                     if(Y>=-2*X && Y>=2*X-2*R && X>=-Y/2 && X<=R-(-Y/2))
  23.                     {
  24.                         Console.WriteLine("2Точка с координатами ({0};{1}) попала в закрашенную  область(фигура2)", X.ToString(), Y.ToString());
  25.                     }
  26.                     else
  27.                     {
  28.                             Console.WriteLine("1Точка с координатами ({0};{1}) не попала никуда.", X.ToString(), Y.ToString());
  29.                     }
  30.                 }
  31.                 else
  32.                 {
  33.                     Console.WriteLine("2Точка с координатами ({0};{1}) не попала никуда.", X.ToString(), Y.ToString());
  34.                 }
  35.             }
  36.             else
  37.             {
  38.                 Console.WriteLine("3Точка с координатами ({0};{1}) не попала никуда.", X.ToString(), Y.ToString());
  39.             }
  40.             Console.ReadKey();

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


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

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

11   голосов , оценка 3.727 из 5

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

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

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