тут все просто, нужно создать две переменные - позиция минимального элемента, и максимального элемента в массиве(min_i, max_i), в твоих двух циклах, кроме определения переменной max и min нужно запоминать еще и i - позицию в массиве (max_i = i , min_i = i), дальше нужно понимать, что максимальный элемент не обязательно будет стоять после минимального, так как значения рандомные - делаем такой цикл
C++ |
1
2
3
4
5
| int mul = 1;
for( int i = std::min(max_i , min_i) ; i < std::max(max_i , min_i); ++i )
{
mul *= b[i];
} |
|
mul и будет искомым произведением

Сообщение от
narsky
При наличии нескольких максимальных или минимальных элементов (равных друг другу) выбираются первые из них.
это не нужно, так как в твоих циклах не будет второго макс и мин из за условия > либо <