Описать класс для хранения массива чисел - C# (179707)
Формулировка задачи:
Описать класс для хранения массива чисел. Перегрузить в классе оператор *, который должен находить произведение четных элементов двух массивов.
Решение задачи: «Описать класс для хранения массива чисел»
textual
Листинг программы
class MyArray { double[] array; // свойство, возвращающее длину массива public double Length { get { return array.Length; } private set { } } // конструктор по умолчанию public MyArray() { } // конструктор, принимающий в качестве параметра массив public MyArray(double[] array) { // выделяем память на нашего массива this.array = new double[array.Length]; // записываем значения из переданного в конструктор массива в наш массив for (int i = 0; i < array.Length; i++) this.array[i] = array[i]; } // итератор класса, позволяет обращаться к объекту класса как к массиву (по индексу) // например, см. реализацию перегрузки оператора * public double this[int index] { get { return array[index]; } set { if (index >= 0 && index < array.Length) // проверка индекса на соответствие разрешенному диапазону array[index] = value; } } // перегрузка оператора * public static double? operator *(MyArray a, MyArray b) { // переменная, содержащая результат умножения (тип double? допускает значение null) double? mul = 1.0; // находим четные числа в первом массиве и перемножаем for (int i = 0; i < a.Length; i++) if (a[i] % 2 == 0) mul *= a[i]; // аналогично для второго массива for (int i = 0; i < b.Length; i++) if (b[i] % 2 == 0) mul *= b[i]; // возвращаем результат умножения или null, если в обоих массивах нет ни одного четного числа return mul == 1.0 ? null : mul; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д