Exemple #1
0
        static public void FindMax(EquationArray array, out Equation max) //Поиск уравнения с максимальным по модулю корнем
        {
            int mIdx = 0;

            while (mIdx < array.Length && !array[mIdx].HaveRoots)
            {
                mIdx++;                                                   //Поиск
            }
            if (mIdx == array.Length)
            {
                Console.WriteLine("В массиве нет уравнений, имеющих корни, возвращено первое уравнение");
                max = null;
            }
            else
            {
                max = array[mIdx];

                for (int i = mIdx + 1; i < array.Length; i++)
                {
                    if (array[i].HaveRoots && array[i] > max)
                    {
                        max = array[i];
                    }
                }
            }
        }
Exemple #2
0
        static void EquationArrayExample()
        {
            Console.WriteLine("EquationArrayExample демонстрирует класс EquationArray (массив уравнений) и его методы");
            Console.WriteLine("Первый объект генерируется автоматически, второй заполняется вручную");

            EquationArray eqa1 = new EquationArray(5, inputManually: false); //Заполнение ДСЧ
            EquationArray eqa2 = new EquationArray(3, inputManually: true);  //Заполнение вручную

            Console.WriteLine("eqa1 сгенерирован ДСЧ, вывод с помощью индексации: ");
            for (int i = 0; i < eqa1.Length; i++)
            {
                Console.WriteLine(eqa1[i].ToString());
            }

            Console.WriteLine("\nВывод eqa2");
            eqa2.Show();

            eqa2.Max(out Equation max1);

            //FindMax(eqa1, out Equation max2);

            Console.WriteLine("В eqa2 максимальным по модулю корнем обладает уравнение:");
            Console.WriteLine(max1.ToString());
        }