Одномерные массивы, задачи - 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];
}