예제 #1
0
        static void Main(string[] args)
        {
            do
            {
                int n = CorrectCheck("Введите количество обьектов: ");
                LinearEquation[] equations = new LinearEquation[n];
                for (int i = 0; i < equations.Length; i++)
                {
                    equations[i] = new LinearEquation();
                }

                Console.WriteLine("\nСозданный массив:");
                Array.ForEach(equations, x => Console.WriteLine(x.ToString()));

                Array.Sort(equations, (x, y) => {
                    if (x.Decision() > y.Decision())
                    {
                        return(1);
                    }
                    else if (x.Decision() < y.Decision())
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                });

                Console.WriteLine("\nОтсортированный массив:");
                Array.ForEach(equations, x => Console.WriteLine(x.ToString() + $"\tРешение: {x.Decision()}"));

                Console.WriteLine("Нажмите Escape, если хоитте выйти\nИли любую другую клавишу, если хотите продолжить");
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }
        static void Main(string[] args)
        {
            while (true)
            {
                int N;
                do
                {
                    Console.Write("Введите N: ");
                } while (!int.TryParse(Console.ReadLine(), out N) || N <= 0);

                // Создание и генерация массива.

                LinearEquation[] equations = new LinearEquation[N];
                Random           rand      = new Random();

                for (int i = 0; i < equations.Length; i++)
                {
                    equations[i] = new LinearEquation(rand.Next(-10, 11), rand.Next(-10, 11), rand.Next(-10, 11));
                }

                // Сортировка по возрастанию по значению корня уравнения.
                equations = equations.OrderBy(o => o.X).ToArray();

                // Вывод данных об уравнениях массива и их корней.
                foreach (var equation in equations)
                {
                    equation.PrintRoots();
                }

                Console.WriteLine(Environment.NewLine + "Нажмите Enter, чтобы выйти, или нажмите иную клавишу, чтобы продолжить.");
                if (Console.ReadKey().Key == ConsoleKey.Enter)
                {
                    break;
                }
                else
                {
                    Console.Clear();
                }
            }
        }