// Перегрузка операции бинарный *: домножить все элементы массива на скаляр. public static OneDArray operator *(OneDArray multiplication, int scalar) { OneDArray array = new OneDArray(multiplication.IntArray.Length); for (int i = 0; i < multiplication.IntArray.Length; i++) { multiplication.IntArray[i] *= scalar; } return(multiplication); }
// Перегрузка операции ++: одновременно увеличивает значение всех элементов массива на 1. public static OneDArray operator ++(OneDArray increment) { OneDArray array = new OneDArray(increment.IntArray.Length); for (int i = 0; i < increment.IntArray.Length; i++) { increment.IntArray[i] += 1; } return(increment); }
// Перегрузка операции --: одновременно уменьшает значение всех элементов массива на 1. public static OneDArray operator --(OneDArray decrement) { OneDArray array = new OneDArray(decrement.IntArray.Length); for (int i = 0; i < decrement.IntArray.Length; i++) { decrement.IntArray[i] -= 1; } return(decrement); }
static void Main() { Console.Write("Задайте размер массива: "); int size = int.Parse(Console.ReadLine()); OneDArray array = new OneDArray(size); // Инициализация одномерного массива array.InputIntArray(); // Ввод элементов массива с клавиатуры Console.WriteLine("\nИсходный массив:"); array.ShowIntArray(); // Вывод на экран исходных элементов массива array.SortingArray(); // Сортировка элементов массива в порядке возростания Console.WriteLine("\nОтсортированный в порядке возростания массив:"); array.ShowIntArray(); // Вывод на экран отсортированных элементов массива Console.WriteLine(array.Length); // Информация о размерности массива Console.WriteLine("\nМассив, элементы которого умножены на скаляр (3):"); array.Scalar = 3; array.ShowIntArray(); // Элементы массива умноженные на скаляр Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("\nОбращение к элементам массива по индексу:"); Console.ResetColor(); Console.WriteLine(array[-1]); // Обращение к элементам массива по индексу Console.WriteLine(array[0]); Console.WriteLine(array[2]); Console.WriteLine(array[7]); Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("\nДемонстрация перегрузки операций"); Console.ResetColor(); Console.Write("Перегрузка операции ++: "); ++array; // Перегрузка операции ++ array.ShowIntArray(); Console.Write("Перегрузка операции --: "); --array; // Перегрузка операции -- array.ShowIntArray(); Console.Write("Перегрузка операции *5: "); array *= 5; // Перегрузка операции * array.ShowIntArray(); if (!array) // Перегрузка операции ! { Console.WriteLine("Элементы массива НЕ упорядочены по возрастанию!"); } else { Console.WriteLine("Элементы массива упорядочены по возрастанию."); } Console.ReadKey(); }