Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.29 KB | None | 0 0
  1. using System;
  2.  
  3. /*
  4.  Написать метод вычисления площади треугольника по формуле Герона. Параметры – длины сторон и вычисляемая площадь.
  5.  Если значения параметров не могут быть длинами сторон треугольника, метод должен возвращать в точку вызова значение false,
  6.  иначе - true.
  7.  */
  8.  
  9. namespace Task_01
  10. {
  11.     class Program
  12.     {
  13.         static void Main() //Main
  14.         {
  15.  
  16.             double a, b, c; //стороны треугольника
  17.  
  18.             double sq; //площадь треугольника
  19.  
  20.             do
  21.             {
  22.                 a = Data(); // ввод длин треугольника через метод
  23.                 b = Data();
  24.                 c = Data();
  25.  
  26.                 bool possible_sides = Triangle(a, b, c, out sq); // вызов метода
  27.  
  28.                 if (possible_sides)
  29.                 {
  30.                     Console.WriteLine($"Стороны подходят, площадь равна {sq}");
  31.                 }
  32.                 else Console.WriteLine($"Стороны не подходят");
  33.  
  34.                 Console.WriteLine("Введите Escape, чтобы закончить");
  35.  
  36.             } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
  37.         }
  38.  
  39.         static double Data() // метод ввода сторон
  40.         {
  41.             double n;
  42.  
  43.             do
  44.             {
  45.  
  46.                 Console.WriteLine("Введите сторону");
  47.  
  48.             } while (!double.TryParse(Console.ReadLine(), out n));
  49.  
  50.             return n;
  51.         }
  52.  
  53.         static bool Triangle(double a, double b, double c, out double sq) //метод определяет реально ли построить треугольник и считает площадь
  54.         {
  55.             if ((a + b > c) && (a + c > b) && (b + c > a))
  56.             {
  57.                 double p = (a + b + c) / 2;
  58.  
  59.                 sq = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
  60.  
  61.                 return true;
  62.             }
  63.             else
  64.             {
  65.                 sq = 0;
  66.  
  67.                 return false;
  68.             }
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement