Пример #1
0
        static void Main(string[] args)
        {
            const int rows     = 3;
            const int columns  = 3;
            const int minValue = -9;
            const int maxValue = 9;

            TwoDimArray array = new TwoDimArray(
                rows, columns, minValue, maxValue);

            Console.WriteLine("Двумерный массив: ");
            PrintArray(array);
            Console.WriteLine();
            Console.WriteLine("Сумма элементов массива : {0}", array.Sum());

            int threshold = 2;

            Console.WriteLine("Сумма элементов больше {0}: {1}",
                              threshold, array.Sum(threshold));

            Console.WriteLine("Минимальный элемент массива: {0}", array.Min);
            Console.WriteLine("Максимальный элемент массива: {0}", array.Max);

            int row = 0, column = 0;

            array.GetMaxItemPos(ref row, ref column);

            Console.WriteLine("Максимальный элемент находится " +
                              "(строка: {0}; колонка: {1})", row, column);


            Console.WriteLine("\n\nЗапись двумерного массива на диск " +
                              "исчитвание этого массива");


            string arrayPath = Directory.GetCurrentDirectory() +
                               "/TwoDimArray.txt";

            Console.WriteLine("Путь сохранения массива{0}", arrayPath);

            try
            {
                TwoDimArray.WriteArrayToFile(array, arrayPath);
                //TwoDimArray fileArray = TwoDimArray.ReadArrayFromFile(arrayPath);
                TwoDimArray fileArray = new TwoDimArray(arrayPath);
                File.Delete(arrayPath);

                Console.WriteLine("Считанный массив");
                PrintArray(fileArray);
            }
            catch (TwoDimArrayException tdex)
            {
                Console.WriteLine(tdex.Message);
                if (null != tdex.InnerException)
                {
                    Console.WriteLine(tdex.InnerException.Message);
                }
            }
            Console.ReadKey();
        }
Пример #2
0
        /// <summary>
        /// Проверка работы с массивом целых чисел
        /// </summary>
        /// <param name="ar">обрабатываемый массив</param>
        private static void TestAllFunctionality(TwoDimArray ar)
        {
            if (ar != null)
            {
                // Проверка, чем же был заполнен массив
                Console.WriteLine($"Текущее состояние массива\n{ar}");

                #region Сумма всех элементов массива
                Console.WriteLine($"Сумма элементов массива : {ar.SumAllArray}");
                #endregion

                #region Сумма элементов больше заданного
                Console.Write("Введите число для подсчета суммы элементов массива больше него : ");
                int minValue = int.Parse(Console.ReadLine());
                Console.WriteLine($"Сумма элементов массива больше {minValue} : {ar.SumArrayMoreThan(minValue)}");
                #endregion

                #region Максимальный элемент массива
                Console.WriteLine($"Максимальный элемент массива : {ar.Maximum}");
                #endregion

                #region Минимальный элемент массива
                Console.WriteLine($"Минимальный элемент массива : {ar.Minimum}");
                #endregion

                #region Индекс максимального элемента массива через out
                ar.GetIndexOfMaximumOut(out int row, out int col);
                Console.WriteLine($"Индекс максимального элемента массива через out (переменные не инициализировались) : [{row}],[{col}]");
                #endregion

                #region Индекс максимального элемента массива через ref
                int refRow = -1;
                int refCol = -1;
                Console.WriteLine($"Индекс максимального элемента массива через ref; refRow = {refRow}; refCol = {refCol}");
                ar.GetIndexOfMaximumRef(ref refRow, ref refCol);
                Console.WriteLine($"Индекс максимального элемента массива через ref : [{refRow}],[{refCol}]");
                #endregion

                #region Запись массива в файл
                Console.WriteLine("Введите путь к файлу, куда будет выполняться запись результата : ");
                string FileNameToWrite = Console.ReadLine();
                if (ar.WriteArrayToFile(FileNameToWrite))
                {
                    Console.WriteLine($"Записано в {FileNameToWrite}");
                }
                #endregion
            }
            else
            {
                Console.WriteLine("Передан пустой массив, проверять нечего");
            }
        }