Определить номер N области, в которой находиться точка M(x,y) с заданными координатами - C#

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

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

Определить номер N области, в которой находиться точка M(x,y) с заданными координатами. Границы области относить к области с наибольшим номером.

Решение задачи: «Определить номер N области, в которой находиться точка M(x,y) с заданными координатами»

textual
Листинг программы
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3.  
  4. namespace UnitTestProject1
  5. {
  6.     [TestClass]
  7.     public class UnitTest1
  8.     {
  9.         private const int radius = 4;
  10.  
  11.         public class Point
  12.         {
  13.             public int X { get; set; }
  14.             public int Y { get; set; }
  15.         }
  16.  
  17.         public int GetArea(Point point)
  18.         {
  19.             if (point.X < 0 && point.Y > 0)
  20.             {
  21.                 return 3;
  22.             }
  23.  
  24.             if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
  25.                 && ((point.X >= 0 && point.Y >= 0) || (point.X <= 0 && point.Y <= 0)))
  26.             {
  27.                 return 1;
  28.             }
  29.  
  30.             if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
  31.                 && point.X >= 0 && point.Y <= 0)
  32.             {
  33.                 return 2;
  34.             }
  35.  
  36.             return 3;
  37.         }
  38.  
  39.         [TestMethod]
  40.         public void Test()
  41.         {
  42.             Point point = new Point {X = 1, Y = 1};
  43.             var result = GetArea(point);
  44.            
  45.             Assert.AreEqual(1, result);
  46.  
  47.             point = new Point {X = 0, Y = 0};
  48.             result = GetArea(point);
  49.            
  50.             Assert.AreEqual(1, result);
  51.  
  52.             point = new Point { X = -1, Y = -1 };
  53.             result = GetArea(point);
  54.  
  55.             Assert.AreEqual(1, result);
  56.  
  57.             point = new Point { X = -1, Y = 1 };
  58.             result = GetArea(point);
  59.  
  60.             Assert.AreEqual(3, result);
  61.  
  62.             point = new Point { X = 1, Y = -1 };
  63.             result = GetArea(point);
  64.  
  65.             Assert.AreEqual(2, result);
  66.  
  67.             point = new Point { X = 5, Y = 5 };
  68.             result = GetArea(point);
  69.  
  70.             Assert.AreEqual(3, result);
  71.         }
  72.     }
  73. }

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


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

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

14   голосов , оценка 3.571 из 5

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

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

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