Алгоритм решения задачи
Листинг программы
//-----------------------------------------------------------------------------------------------------
#pragma hdrstop
//-----------------------------------------------------------------------------------------------------
#include <conio.h> //библиотека подключения функции getch()
#include <iostream.h> //библиотека для cin и cout
#include <malloc.h> //библиотека для динамического выделения памяти
#include <fstream.h> //библиотека для ввода/вывода в файл
#include <windows.h> //библиотека используется в функции RUS
#include <math.h> //библиотека математических функций
#include <ctype.h> // библиотека проверки принадлежности символов
#include <stdlib.h> // библиотека некоторых стандартных функций
#include <string.h> // библиотека функций работы со строками
//
char bufRus[256];
//-----------------------------------------------------------------------------------------------------
char* RUS(const char*text) //функция поддержки русского языка
{
CharToOem(text,bufRus);
return bufRus;
}
//-----------------------------------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
//-------- описание переменных ---------------------------------------------------------------
const int N=10;
int n, I_max=0, I_min=0, f3=0;
float A[N], S=0;
bool fmax=0, fmin=0;
//--------- ввод массива -------------------------------------------------------------------------
cout<<RUS("\nВведите массив из ")<<N;
cout<<RUS("элементов\n");
for(n=0; n<N; n++)
{
cout<<RUS("\nВведите A[ ")<<n<<" ] = ";
cin>>A[n];
}
//---------- поиск индексов минимального и максимального элементов -------------
for(n=1; n<N; n++)
{
if( A[n]<A[I_min])
I_min=n;
if( A[n]>A[I_max])
I_max=n;
}
//-------------вычисление суммы между минимумом и максимумом ------------------
if(A[I_min]!=A[I_max])
{
for(n=0; n<N; n++)
{ if(A[n]==A[I_min])
{
fmin=1;
cout<<RUS("\nИндекс минимального элемента массива = ")<<n;
}
if(A[n]==A[I_max])
{
fmax=1;
cout<<RUS("\nИндекс максимального элемента массива = ")<<n;
}
if(fmin==1&&fmax==0)
{ S+=A[n]; f3=-1;}
if(fmin==1&&fmax==1&&f3==-1)
{S-=A[I_min];
cout<<RUS("\nСумма элементов между минимумом и максимумом = ")<<S;
S=0;
f3=0;
fmin=0;
fmax=0;
}
if(fmin==0&&fmax==1)
{S+=A[n];f3=1;}
if(fmin==1&&fmax==1&&f3==1)
{S-=A[I_max];
cout<<RUS("\nСумма элементов между максимумом и минимумом = ")<<S;
S=0;
f3=0;
fmin=0;
fmax=0;
}
}
if(f3==-1)
cout<<RUS("\nНет максимального элемента массива ");
if(f3==1)
cout<<RUS("\nНет минимального элемента массива ");
}
else
cout<<RUS("\nВсе элементы массива имеют одно значение");
//-----------------------------------------------------------------------------------------------------
cout<<RUS("\nНажмите любую клавишу для завершения программы \n");
getch();
return 0;
}
//---------------------------------------------------------------------------