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

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

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

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

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

textual
Листинг программы
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
 
namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        private const int radius = 4;
 
        public class Point
        {
            public int X { get; set; }
            public int Y { get; set; }
        }
 
        public int GetArea(Point point)
        {
            if (point.X < 0 && point.Y > 0)
            {
                return 3;
            }
 
            if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
                && ((point.X >= 0 && point.Y >= 0) || (point.X <= 0 && point.Y <= 0)))
            {
                return 1;
            }
 
            if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
                && point.X >= 0 && point.Y <= 0)
            {
                return 2;
            }
 
            return 3;
        }
 
        [TestMethod]
        public void Test()
        {
            Point point = new Point {X = 1, Y = 1};
            var result = GetArea(point);
            
            Assert.AreEqual(1, result);
 
            point = new Point {X = 0, Y = 0};
            result = GetArea(point);
            
            Assert.AreEqual(1, result);
 
            point = new Point { X = -1, Y = -1 };
            result = GetArea(point);
 
            Assert.AreEqual(1, result);
 
            point = new Point { X = -1, Y = 1 };
            result = GetArea(point);
 
            Assert.AreEqual(3, result);
 
            point = new Point { X = 1, Y = -1 };
            result = GetArea(point);
 
            Assert.AreEqual(2, result);
 
            point = new Point { X = 5, Y = 5 };
            result = GetArea(point);
 
            Assert.AreEqual(3, result);
        }
    }
}

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


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

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

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