Как определить принадлежность точки октанту? - C#

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

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

Стоит задача - написать программу для определения принадлежности точки октанту. Октант - это четверть в трехмерном пространстве. Все довольно просто если бы не нужно было написать программу которая будет это делать с помощью всего трех атомарных условий(Условие над которым невозможно произвести дальнейшуюю декомпозицию. Тоесть условие которое больше нельзя разложить. Без логических операторов. ). Максимум получилось сделать с помощью семи.
if (x>0)
   if (y>0)
      if (z>0)
         k = 1;
      else
         k = 8;
   else if (z>0)
       k = 4;
       else
       k = 5;
 else if (y>0)
      if (z>0)
          k = 2;
      else
          k = 7;
    else if (z>0)
          k = 3;
          else
          k = 6;

Решение задачи: «Как определить принадлежность точки октанту?»

textual
Листинг программы
 static int GetOctant(int x, int y, int z)
        {
            var dict = new Dictionary<string, int>()
            {
                {"+++", 1 },
                {"+-+", 2 },
                {"+--", 3 },
                {"++-", 4 },
                {"-++", 5 },
                {"--+", 6 },
                {"---", 7 },
                {"-+-", 8 }
            };
            string xs = "+", ys = "+", zs = "+";
            if (x < 0) xs = "-";
            if (y < 0) ys = "-";
            if (z < 0) zs = "-";
            return dict[xs + ys + zs];
        }
 
        static void Main(string[] args)
        {
 
            Console.Write("введите x: ");
            string s = Console.ReadLine(); 
            int x = Int32.Parse(s);
            Console.Write("введите y: ");
            string s1 = Console.ReadLine(); 
            int y = Int32.Parse(s1);
            Console.Write("введите z: ");
            string s2 = Console.ReadLine(); 
            int z = Int32.Parse(s2);
            Console.Write(GetOctant(x, y, z));
            Console.ReadKey();
        }

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


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

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

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