С++ В одновимірному масиві знайти суму та середне значення елементів, що знаходяться між мінімальним і максимальним елементами та вивести на екран самі елементи. Мінімальний і максимальний елементи в суму не включати. (Елементи масиву задаються з клавіатури).
Відповідь:
Пояснення:
#include <iostream>
using namespace std;
int main()
{
int *arr;
int size;
int k, m, s, sr;
k=0;
m=0;
s=0;
sr=0;
cin >> size;
arr = new int[size];
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
for (int i = 1; i < size; i++) {
if (arr[i] > arr[i-1])
k++;
}
for (int i = 1; i < size; i++) {
if (arr[i] < arr[i-1])
m++;
}
if (k < m){
for (int i = k; i < m; i++){
s = s + arr[i];
sr = s/(m - k);
}
}
else {
for (int i = m; i < k; i++){
s = s + arr[i];
sr = s/(k - m);
}
}
cout<<s<< endl;
cout<<sr<< endl;
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
setlocale(0, "");
vector<int> arr;
cout << "Количество чисел: \n";
int n, temp, min = 2147483647, max = -2147483648, minIndex = 0, maxIndex = 0;
long long sum = 0;
cin >> n;
for (int i = 1; i <= n; ++i) {
cout << i - 1 << ": ";
cin >> temp;
arr.push_back(temp);
if (temp < min)
(min = temp) && (minIndex = i - 1);
if (temp > max)
(max = temp) && (maxIndex = i - 1);
}
cout << "Минимальный элемент: " << min << ", располагается по индексу " << minIndex << endl;
cout << "Максимальный элемент: " << max << ", располагается по индексу " << maxIndex << endl;
for (int i = minIndex + 1; i < maxIndex; ++i)
sum += arr[i];
cout << "Сумма элементов с " << minIndex + 1 << " по " << maxIndex - 1 << " включительно: " << sum << endl;
cout << "Среднее значение элементов с " << minIndex + 1 << " по " << maxIndex - 1 << " включительно: " << sum / (maxIndex - minIndex - 1) << endl;
return 0;
}