#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
// прототипы функций
int findMinIndex(int a[], int k);
int findMaxIndex(int a[], int k);
int calcProductInRange(int a[], int from, int to);
int main(void)
{ // Начало главной функции
int a[100], i, k;
cout << "Vvedite razmer massiva: "; // Ввод размерности массива
cin >> k;
cout << "\nVvedite massiv:\k";
for (i = 0; i < k; i++) // Ввод одномерного массива
{
cout << "Vvedite a["<< i <<"]=";
cin >> a[i];
}
cout << "\nMassiv a:\k"; // Вывод одномерного массива
for (i = 0; i < k; i++)
{
cout<<setw(7)<<a[i];
}
cout<<endl;
int iMin = findMinIndex(a, k); // Вызов функции
int iMax = findMaxIndex(a, k); // Вызов функции
int from = iMin < iMax? iMin: iMax;
int to = iMax > iMin? iMax: iMin;
int product = calcProductInRange(a, from, to); // Вызов функции
cout << "\nMax=" << a[iMax] << setw(10)<<"i="<<iMax;
cout << "\nMin=" << a[iMin] << setw(10) << "i=" << iMin << endl;
cout << "\nProduct= " << product << endl;
return 0;
}
// функция поиска индекса минисамального элемента
int findMinIndex(int a[], int k)
{
int iMin = 0;
int min = a[iMin];
int i;
for (i = 1; i < k; i++)
if (a[i] < min)
{
min = a[i];
iMin = i;
}
return iMin;
|
|
}
// функция поиска максимального элемента
int findMaxIndex(int a[], int k)
{
int iMax = 0;
int max = a[iMax];
int i;
for (i = 1; i < k; i++)
if (a[i] > max)
{
max = a[i];
iMax = i;
}
return iMax;
}
// функция вычисления произведения элементов массива в диапазоне (from, to)
int calcProductInRange(int a[], int from, int to)
{
int i;
int product = 1;
if (from+1==to)
{
cout<<"not be carrying out the multiplication"<<endl;
return 0;
}
Else
for(i = from + 1; i < to; i++)
product *= a[i];
return product;
} // Конец главной функции