Нужно посчитать произведение элементов массива, расположенных между максимальным и минимальным. Как это сделать? - C#
Формулировка задачи:
Нужно посчитать произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами массива.Если макс или мин элементов больше одного, брать первый (по индексу) максимальный и последний (по индексу) минимальный. Вот мой код, но здесь считается по последнему максимальному и минимальному.
namespace test1 { class Program { static void Main(string[] args) { Console.Write("Введите количество элемeнтов массива: "); int n = Convert.ToInt32(Console.ReadLine()); int[] array = new int[n]; //создается массив, длиной n // Random rand = new Random(); //заполняется случайными числами for (int i = 0; i < array.Length; i++) { array[i] = Convert.ToInt32(Console.ReadLine()); //rand.Next(-10, 10); // случайные числа от -10 до 10 // Console.WriteLine("{0} ", array[i]); // Console.Write("{0}, ", array[i]); //выводится массив } int min = Math.Abs(array[0]); int max = Math.Abs(array[0]); int nommin = 0, nommax = 0; int s = 0; for (int i = 0; i < array.Length; i++) { if (Math.Abs(min) > Math.Abs(array[i])) { min = Math.Abs(array[i]); nommin = i; //находим минимальный элемент и его номер } if (Math.Abs(max) < Math.Abs(array[i])) { max = Math.Abs(array[i]); nommax = i;//находим максимальный элемент и его номер } if (array[i] > 0) { s = s + array[i]; } //считаем сумму положительных элементов } int pr = 1; //произведение for (int i = nommax; i <= nommin; i++) { pr *= array[i]; // считаем произведение, если сначала стоит максимальный элемент } for (int i = nommin; i <= nommax; i++) { pr *= array[i]; //считаем произведение если сначала стоит максимальный элемент } Console.WriteLine("\nСумма положительных элементов массива=" + s); Console.WriteLine("минимальный элемент (по модулю)={0}", min); Console.WriteLine("максимальный элемент (по модулю)={0}", max); Console.WriteLine("Произведение элементов(между макс и мин)=" + pr); Console.ReadLine(); } } }
Решение задачи: «Нужно посчитать произведение элементов массива, расположенных между максимальным и минимальным. Как это сделать?»
textual
Листинг программы
for (int i = nommax + 1; i < nommin; i++)
Объяснение кода листинга программы
- В данном коде используется цикл for, который начинается с i = nommax + 1 и продолжается до i < nommin. Здесь nommax и nommin - это переменные, которые содержат максимальное и минимальное значение массива соответственно.
- Переменная i в цикле for используется как индекс для доступа к элементам массива. На каждой итерации цикла i увеличивается на 1.
- Внутри цикла for происходит умножение текущего элемента массива на переменную result, которая инициализирована единицей.
- После завершения цикла for, переменная result будет содержать произведение всех элементов массива, расположенных между максимальным и минимальным значением.
- В конце кода, переменная result выводится на экран с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д