Информатика, вопрос задал shabley7871 , 2 года назад

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

Ответы на вопрос

Ответил AlyaOsipova2709
0

Ответ:

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

Объяснение:

#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;

}


shabley7871: пасиба но не работает
AlyaOsipova2709: какой тест?
AlyaOsipova2709: Напишите, пожалуйста, тест. Я пофикшу решение.
Новые вопросы