В одномерном массиве вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами - C (СИ)
Формулировка задачи:
Ребят помогите!) нужно решить одну задачку..
В одномерном массиве, состоящем из n элементов, вычислить произвед е -ние элементов массива, расположенных между максимальным и мин и -мальным элементами.
Решение задачи: «В одномерном массиве вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами»
textual
Листинг программы
#inlcude <stdio.h> #include <stdlib.h> int main() { unsigned i, n, minInd, maxInd; int min, max, result = 1; int* a; scanf("%u", &n); a = (int*)malloc(n * sizeof(int)); for (i = 0; i < n; i++) scanf("%d", &a[i]); min = max = a[minInd = maxInd = 0]; for (i = 1; i < n; i++) if (a[i] < min) min = a[minInd = i]; else if (a[i] > max) max = a[maxInd = i]; if (minInd > maxInd) { minInd += maxInd; maxInd = minInd - maxInd; minInd -= maxInd; } for (minInd++; minInd < maxInd; minInd++) result *= a[minInd]; free(a); printf("%d", result); }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
i
- счётчик для циклов;n
- количество элементов в массиве;min
- переменная для хранения минимального элемента;max
- переменная для хранения максимального элемента;result
- переменная для хранения произведения элементов;minInd
иmaxInd
- индексы минимального и максимального элементов;a
- указатель на начало массива.
- С помощью
scanf
вводится количество элементов в массиве. - С помощью
malloc
выделяется память под массив. - С помощью цикла
for
вводитсяn
чисел в массив. - Вводятся значения минимального и максимального элементов и их индексов.
- С помощью цикла
for
и условных операторовif
находятся минимальный и максимальный элементы массива и их индексы. - Если индексы минимального и максимального элементов неопределены, то производится их корректировка с помощью простых арифметических операций.
- Цикл
for
производит перебор элементов массива от индекса минимального до индекса максимального включительно, умножая результат на каждый элемент. - Выделяемая память освобождается с помощью
free
. - Результат выводится на экран с помощью
printf
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д