Задача про стороны треугольника - C#

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

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

2. Ввести три числа. Если они могут быть длинами сторон остроугольного треугольника, вывести их в порядке убывания, вычислить площадь полученного треугольника.
Вот мой код, но что-то мне кажется все равно не так.
int  cos1, cos2, cos3;
            Console.WriteLine("введите 3 числа");
            string k = Console.ReadLine();
            int a = Convert.ToInt32(k);
            string l = Console.ReadLine();
            int b = Convert.ToInt32(l);
            string j = Console.ReadLine();
            int c = Convert.ToInt32(j);
           
            cos1 = (a * a + b * b - c * c) / 2 / a / b;
            cos2 = (a * a + c * c - b * b) / 2 / a / c;
            cos3 = (c * c + b * b - a * a) / 2 / c / b;
            if ((cos1 > 0) & (cos1 < 1) & (cos2 > 0) & (cos2 < 1) & (cos3 > 0) & (cos3 < 1) & (a + b > c) & (a + c > b) & (c + b > a) & (a != b) & (a != c) & (b != c))
            {
               Console.WriteLine("Числа не могут быть сторонами остроугольного треугольника");
                
            }
            else
            {
                int mx = a;
                if (b > mx) mx = b;
                if (c > mx) mx = c;
                int mn = a;
                if (b < mn) mn = b;
                if (c < mn) mn = c;
                int md = a + b + c - mn - mx;
 
                Console.WriteLine("Числа могут быть сторонами остроугольного треугольника");
                Console.WriteLine("Длины сторон в порядке убывания:" + mx+"," + md+"," + mn);
                int p = (a + b + c) / 2;
                double s = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
                Console.WriteLine("Площадь треугольника=" + s);
            }

            Console.ReadKey();
        }
    }
}

Решение задачи: «Задача про стороны треугольника»

textual
Листинг программы
double x = Console.ReadLine();
double y = Console.ReadLine();
double z = Console.ReadLine();
double[] array_of_lenght=new double[3];
double cos_a=0;
double cos_b=0;
double cos_y=0;
if(x<y+z || y<x+z || z<y+x)
{
       cos_a=(Math.Pow(x,2)+Math.Pow(y,2)-Math.Pow(z,2))/2*x*y;
       cos_b=(Math.Pow(y,2)+Math.Pow(z,2)-Math.Pow(x,2))/2*y*z;
       cos_y=(Math.Pow(x,2)+Math.Pow(z,2)-Math.Pow(y,2))/2*x*z;
       if(cos_a>0 && cos_b>0 && cos_y>0)
              Cosnole.WriteLine("Треугольник остроугольный")
       array_of_lenght[0]=x;
       array_of_lenght[1]=y;
       array_of_lenght[2]=z;
Array.Sort(array_of_lenght);
for(int i=0; i<array_of_lenght.Lenght; i++)
{
Console.WriteLine("{0}",array_of_lenght[0]);
}
}

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


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

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

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