public static void RunTask2() { Console.WriteLine("Поиск площади треугольника"); Console.WriteLine("Выберите вид треугольника:\n" + "1. Произвольный треугольник\n" + "2. Равносторонний\n" + "3. Прямоугольный треугольник"); switch (Console.ReadLine()) { case "1": { Console.WriteLine("Найти через:\n" + "1. Сторону и высоту проведенную к ней\n" + "2. Через две стороны и угол между ними\n" + "3. Через 3 стороны\n" + "4. Через полупериметр и радиус вписанной окружности\n" + "5. Через произведение сторон и радиус описанной окружности"); switch (Console.ReadLine()) { case "1": { double a = HelperClass.Input <double>("Сторона: ", (x) => x > 0); double h = HelperClass.Input <double>("Высота: ", (x) => x > 0); Console.WriteLine("S = " + 0.5 * a * h); HelperClass.PressAnyKey(); break; } case "2": { double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0); double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0); double y = HelperClass.Input <double>("Угол между сторонами 1 и 2: ", (x) => x > 0); Console.WriteLine("S = " + 0.5 * a * b * Math.Sin(y * Math.PI / 180)); HelperClass.PressAnyKey(); break; } case "3": { double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0); double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0); double c = HelperClass.Input <double>("Сторона 3: ", (x) => x > 0); double p = (a + b + c) / 2; Console.WriteLine("S = " + Math.Sqrt(p * (p - a) * (p - b) * (p - c))); HelperClass.PressAnyKey(); break; } case "4": { double p = HelperClass.Input <double>("Полупериметр: ", (x) => x > 0); double r = HelperClass.Input <double>("Радиус вписанной окружности: ", (x) => x > 0); Console.WriteLine("S = " + p * r); HelperClass.PressAnyKey(); break; } case "5": { double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0); double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0); double c = HelperClass.Input <double>("Сторона 3: ", (x) => x > 0); double r = HelperClass.Input <double>("Радиус описанной окружности: ", (x) => x > 0); Console.WriteLine("S = " + (a * b * c) / (4 * r)); HelperClass.PressAnyKey(); break; } default: break; } break; } case "2": { Console.WriteLine("Найти через:\n" + "1. Сторону\n" + "2. Радиус вписанной окружности\n" + "3. Радиус описанной окружности"); switch (Console.ReadLine()) { case "1": { double a = HelperClass.Input <double>("Сторона: ", (x) => x > 0); Console.WriteLine("S = " + (Math.Sqrt(3) * Math.Pow(a, 2)) / 4); HelperClass.PressAnyKey(); break; } case "2": { double r = HelperClass.Input <double>("Радиус вписанной окружности: ", (x) => x > 0); Console.WriteLine("S = " + 3 * Math.Sqrt(3) * Math.Pow(r, 2)); HelperClass.PressAnyKey(); break; } case "3": { double r = HelperClass.Input <double>("Радиус описанной окружности: ", (x) => x > 0); Console.WriteLine("S = " + 3 * Math.Sqrt(3) * Math.Pow(r, 2) / 4 ); HelperClass.PressAnyKey(); break; } } break; } case "3": { Console.WriteLine("Найти через:\n" + "1. Катеты\n" + "2. Катет и острый угол\n" + "3. Гипотенузу и любой из острых углов"); switch (Console.ReadLine()) { case "1": { double a = HelperClass.Input <double>("Катет 1: ", (x) => x > 0); double b = HelperClass.Input <double>("Катет 2: ", (x) => x > 0); Console.WriteLine("S = " + 0.5 * a * b); HelperClass.PressAnyKey(); break; } case "2": { double a = HelperClass.Input <double>("Катет: ", (x) => x > 0); double b = HelperClass.Input <double>("Острый угол: ", (x) => x > 0); Console.WriteLine("S = " + 0.5 * Math.Pow(a, 2) * Math.Tan(b * Math.PI / 180)); HelperClass.PressAnyKey(); break; } case "3": { double a = HelperClass.Input <double>("Гипотенуза: ", (x) => x > 0); double b = HelperClass.Input <double>("Острый угол: ", (x) => x > 0); Console.WriteLine("S = " + 0.25 * a * Math.Sin(2 * b * Math.PI / 180)); HelperClass.PressAnyKey(); break; } } break; } } }
public static void RunTask() { PrintType(new MyClass().GetType()); PrintType(new ChildMyClass().GetType()); HelperClass.PressAnyKey(); }
public static void RunTask2() { var array = new MyArray <int>(HelperClass.Input <int>("Кол-во массивов в массиве: ", (x) => x > 0)); for (int i = 0; i < array.GetSize(); i++) { array.AddArray(HelperClass.Input <int>("Кол-во элементов в" + (i + 1) + " массиве: ", (x) => x > 0)); } Console.WriteLine("Список команд:\n" + "get i j - вывести значение array[i][j]\n" + "set i j value - array[i][j] = value\n" + "exit - выход"); string pattern = "( )"; while (true) { Console.Write(">"); string[] substr = Regex.Split(Console.ReadLine(), pattern); switch (substr[0]) { case "get": { try { Console.WriteLine(array.Get(Convert.ToInt32(substr[2]), Convert.ToInt32(substr[4]))); continue; } catch (Exception e) { Console.WriteLine(e.Message); continue; } } case "set": { try { array.SetValue(Convert.ToInt32(substr[2]), Convert.ToInt32(substr[4]), Convert.ToInt32(substr[6])); continue; } catch (Exception e) { Console.WriteLine(e.Message); continue; } } case "exit": { break; } default: { Console.WriteLine("Ошибка. Комманды " + substr[0] + " не существует."); continue; } } break; } HelperClass.PressAnyKey(); }