Регистрация
Войти
Стать экспертом Правила
Информатика

В одномерном массиве найти минимальный и максимальный элементы и сумму элементов, находящихся между минимальным и максимальным элементами. Минимальный и максимальный элементы не включать.C++(От начала и до конца штобы всьо было правильно)

ОТВЕТЫ

объяснение для задачи, где сначала вводится размер массива и рассматриваются числа как можно ближе к началу, то есть из нескольких минимумов рассматриваем первый

#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

int main(){

   long long n;

   cin >> n;

   vector<long long>m;

   for(long long i = 0; i < n; i++){

       long long a;

       cin >> a;

       m.push_back(a);

   }

   long long mini = m[0], maxi = m[0], itMin = 0, itMax = 0, sum = 0;

   for(long long i = 0; i < n; i++){

       if(mini > m[i]){

           itMin = i;

           mini = m[i];

       }

       if(maxi < m[i]){

           itMax = i;

           maxi = m[i];

       }

   }

   for(long long i = min(itMin, itMax) + 1; i < max(itMin, itMax); i++){

       sum += m[i];

   }

   cout << sum;

   return 0;

}

545
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам