Одномерные массивы, задачи - C#

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

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

Помогите пожалуйста решить две задачи. Задание 2: Пользователь вводит прибыль фирмы за год (12 месяцев). Затем пользователь вводит диапазон (например, 3 и 6 – поиск между 3-м и 6-м месяцем). Необходимо определить месяц, в котором прибыль была максимальна и месяц, в котором прибыль была минимальна с учетом выбранного диапазона. Задание 3: В одномерном массиве, состоящем из N вещественных чисел вычислить: • Сумму отрицательных элементов. • Произведение элементов, находящихся между min и max элементами. • Произведение элементов с четными номерами. • Сумму элементов, находящихся между первым и последним отрицательными элементами.

Решение задачи: «Одномерные массивы, задачи»

textual
Листинг программы
            double[] array = new double[] { 2, 1, 3, 2, 1, -6, -9 };
            double sum = 0, elSum = 1, intervalSum = 0;
            double max = 0, min = 0;
            int elMax = 0, elMin = 0;
            double chet = 1;
 
            for (int i = 0; i < array.Length; i++)
            {
                //суммa отрицательных элементов
                if (array[i] < 0)
                {
                    sum += array[i];
                }
                //поиск индекса максимального елемента
                if (array[i] > max)
                {
                    max = array[i];
                    elMax = i;
                }
                //поиск индекса минимального елемента
                if (array[i] < min)
                {
                    min = array[i];
                    elMin = i;
                }
                //произведение элементов с четными номерами.
                if ( i % 2 == 1 )
                {
                    chet *= array[i];
                }
            }
            //сумму элементов, находящихся между первым и последним отрицательными элементами
            for (int i = 1; i < array.Length - 1; i++)
            {
                intervalSum += array[i];
            }
            //произведение элементов, находящихся между min и max элементами
            if (elMin < elMax)
            {
                for (int i = elMin +1; i < elMax; i++)
                    elSum *= array[i];
            }
            else if (elMin > elMax)
            {
                for (int i = elMax +1; i < elMin; i++)
                    elSum *= array[i];
            }

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

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