Untitled
unknown
plain_text
3 years ago
2.7 kB
11
Indexable
#include <iostream>
#include <algorithm> // нужно для функции sort
#include <cstdlib> // нужно для функции rand
using namespace std;
const int N = 10; // размер массива
int main() {
double arr[N]; // объявляем массив arr типа double размером N
// заполняем массив случайными числами в диапазоне [-10.0, 10.0]
for (int i = 0; i < N; i++) {
arr[i] = (rand() % 21 - 10) / 1.0; // генерируем случайное число от -10 до 10
}
double sum = 0; // сумма отрицательных элементов
double product = 1; // произведение элементов, расположеных между максимальным и минимальным элементами
double max = arr[0]; // максимальный элемент
double min = arr[0]; // минимальный элемент
int start = 0; // индекс элемента, с которого нужно начать умножение
int end = 0; // индекс элемента, на котором нужно закончить умножение
// вычисляем сумму отрицательных элементов, максимальный и минимальный элементы, а также индексы элементов, с которых нужно начать и закончить умножение
for (int i = 0; i < N; i++) {
if (arr[i] < 0) {
sum += arr[i];
}
if (arr[i] > max) {
max = arr[i];
start = i;
}
if (arr[i] < min) {
min = arr[i];
end = i;
}
}
// устанавливаем порядок умножения: сначала нужно умножить элементы с меньшими индексами, потом - с большими
if (start > end) {
swap(start, end);
}
// вычисляем произведение элементов, расположенных между максимальным и минимальным элементами
for (int i = start + 1; i < end; i++) {
product *= arr[i];
}
// упорядочиваем элементы массива по увеличению
sort(arr, arr + N);
cout << "Sum of negative elements: " << sum << endl;
cout << "Product of elements between max and min: " << product << endl;
cout << "Sorted array: ";
for (int i = 0; i < N; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Editor is loading...