В одномерном массиве найти минимальный и максимальный элементы и сумму элементов, находящихся между минимальным и максимальным элементами. Минимальный и максимальный элементы не включать. 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++){
Answers & Comments
Ответ:
объяснение для задачи, где сначала вводится размер массива и рассматриваются числа как можно ближе к началу, то есть из нескольких минимумов рассматриваем первый
Объяснение:
#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;
}