예제 #1
0
        private void FindMaxAndMinButton_Click(object sender, EventArgs e)
        {
            int rowCount = inputMatrixDGV.RowCount;
            int colCount = inputMatrixDGV.ColumnCount;

            if (rowCount != 1 && rowCount == colCount)
            {
                try
                {
                    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
                    matrix.ArrayDouble = DataGridViewUtils.GridToArray2 <double>(inputMatrixDGV);
                    double min = matrix.FindMinUnderDiagonal();
                    double max = matrix.FindMaxUpperDiagonal();

                    MaxAndMinResult.Text = string.Format("Максимальное значение над диагональю : {0} \n Минимальное значение под диагональю: {1} ", max, min);
                }
                catch
                {
                    MessageBox.Show("Таблица заполнена неверно.");
                }
            }
            else
            {
                MessageBox.Show("Ошибка. Матрица должна быть квадратная, и не состоять из одного элемента.");
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            Array2Utility arr = new Array2Utility();

            while (true)
            {
                try
                {
                    string[] a = InputMatrix();

                    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
                    if (arr.IsMatrixSquare(a))
                    {
                        double[,] Matrix = new double[a.Length, a.Length];
                        for (int i = 0; i < a.Length; i++)
                        {
                            var numbers = a[i].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                            for (int k = 0; k < numbers.Length; k++)
                            {
                                Matrix[i, k] = Convert.ToDouble(numbers[k]);
                            }
                        }

                        arr.ArrayDouble = Matrix;
                        Console.WriteLine("Наибольшее число над диагональю = " + arr.FindMaxUpperDiagonal());
                        Console.WriteLine("Наименьшее число под диагональю = " + arr.FindMinUnderDiagonal());

                        Save(a);
                    }
                    else
                    {
                        Console.WriteLine("Матрица не квадратная");
                    }
                }
                catch
                {
                    Console.WriteLine("Ошибка, неправильное заполнение матрицы");
                }
                Console.WriteLine("Нажмите любую клавишу для продолжения");
                Console.ReadKey();
            }
        }