Разработать консольное приложение, в котором описать класс, работающий с одномерным массивом - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте помогите пожалуйста решить задачу с массивами, читаю кучу литературы не помогло не понимаю ... Постановка задачи Требуется разработать консольное приложение, в котором описать класс, работающий с одномерным массивом. Класс должен содержать: - конструктор, заполняющий заданное в его параметре количество элементов массива случайными числами в заданном диапазоне; - методы, описанные в задании; - свойство, доступное только для чтения, описанное в задании; Вывод на экран массива, вывод результатов выполнения методов и значения, возвращаемого свойством выполнять в методе Main. Вариант для решения Класс описывает одномерный массив, состоящий из n вещественных элементов со значениями в диапазоне от (-4.5 до 4.5). Методы класса должны вычислять: - сумму положительных элементов массива; - произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Свойство должно получать максимальный элемент массива.

Решение задачи: «Разработать консольное приложение, в котором описать класс, работающий с одномерным массивом»

textual
Листинг программы
class Program
{
    static void Main()
    {
        Arr a = new Arr(15);
        a.Print();
        Console.WriteLine("\nMax={0} Sum={1} Mul={2}", a.Max, a.Sum(), a.Mul());
        Console.ReadKey();
    }
}
 
class Arr
{
    double[] a;
    double max;
    public double Max
    {
        get { return max; }    
    }
    public Arr(uint n)
    {
        a = new double[n];
        max = double.NaN;
        Random r = new Random();
        for (int i = 0; i < n; i++)
        {
            a[i] = r.Next(91) / 10d - 4.5;
            if (i == 0) max = a[i];
            else if (a[i] > max) max = a[i];
        }
    }
    public double Mul()
    {
        double m = 0;
        int imin = 0, imax = 0;
        for (int i = 0; i < a.Length; i++)
        {
            if (Math.Abs(a[imin]) > Math.Abs(a[i])) imin = i;
            if (Math.Abs(a[imax]) < Math.Abs(a[i])) imax = i;
        }
        if (Math.Abs(imax - imin) > 2)
        {
            int di = imin < imax ? 1 : -1;
            m = a[imin + di];
            for (int i = imin + 2 * di; i != imax; i += di) m *= a[i];
        }
        return m;
    }
    public double Sum()
    {
        double s = 0;
        for (int i = 0; i < a.Length; i++)
            if (a[i] > 0) s += a[i];
        return s;
    }
    public void Print()
    {
        for (int i = 0; i < a.Length; i++) Console.Write("{0} ", a[i]);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы