С++ Помогіть пліз
Умова:
Розробити програму з використанням алгоритмів контейнеру algorithm
бібліотеки STL згідно завдання.
1. В одновимірному масиві, що складається з n елементів, обчислити: суму
від’ємних елементів масиву, добуток елементів масиву, розташованих між
максимальним і мінімальними елементами; упорядкувати елементи масиву
по зростанню.
Answers & Comments
Ответ:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int n;
cout << "Enter the number of elements in the array: ";
cin >> n;
vector<int> arr(n);
cout << "Enter the elements of the array: ";
for (int i = 0; i < n; i++)
cin >> arr[i];
int sum = 0;
for (int i = 0; i < n; i++)
if (arr[i] < 0)
sum += arr[i];
cout << "Sum of negative elements: " << sum << endl;
int product = 1;
for (int i = 0; i < n; i++)
if (arr[i] > 0)
product *= arr[i];
cout << "Product of positive elements: " << product << endl;
int min = arr[0];
int max = arr[0];
for (int i = 0; i < n; i++)
{
if (arr[i] < min)
min = arr[i];
if (arr[i] > max)
max = arr[i];
}
int min_index = 0;
int max_index = 0;
for (int i = 0; i < n; i++)
{
if (arr[i] == min)
min_index = i;
if (arr[i] == max)
max_index = i;
}
int product2 = 1;
if (min_index < max_index)
{
for (int i = min_index + 1; i < max_index; i++)
product2 *= arr[i];
}
else
{
for (int i = max_index + 1; i < min_index; i++)
product2 *= arr[i];
}
cout << "Product of elements between min and max: " << product2 << endl;
sort(arr.begin(), arr.end());
cout << "Sorted array: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
Объяснение: