Вопрос задан 19.06.2023 в 01:18. Предмет Информатика. Спрашивает Бухонов Миша.

Задание по теме "одномерные массивы". Нужно написать код на ЯП'е C++: В одномерном массиве,

состоящем из N действительных чисел, вычислить: ■ Сумму отрицательных элементов; ■ Произведение элементов, расположенных между min и max элементами; ■ Произведение элементов с парными номерами; ■ Сумму элементов между первым и последним отрицательными элементами.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ростовщиков Максим.

#include <iostream>

using namespace std;

int main() {

size_t N, *firstNegative = nullptr, lastNegative, minIndex, maxIndex;

cin >> N;

int64_t* arr = new int64_t[N], min = INT64_MAX, max = INT64_MIN;

for (size_t i = 0; i < N; ++i) {

 cin >> arr[i];

 if (arr[i] < 0) {

  if (firstNegative == nullptr) {

   firstNegative = new size_t;

   *firstNegative = i;

  }

  lastNegative = i;

 }

 if (arr[i] < min) {

  min = arr[i];

  minIndex = i;

 }

 else if (arr[i] > max) {

  max = arr[i];

  maxIndex = i;

 }

}

int64_t sumNegative = 0, minMaxMult = 1, evenMult = 1, sumFirstLastNegative = 0;

for (size_t i = 0; i < N; ++i) {

 if (arr[i] < 0)

  sumNegative += arr[i];

 if ((minIndex < maxIndex && i > minIndex && i < maxIndex) || (minIndex > maxIndex && i < minIndex && i > maxIndex))

  minMaxMult *= arr[i];

 if ((i + 1) % 2 == 0) // i + 1 п-ку обычно считают с 1

  evenMult *= arr[i];

 if (i > *firstNegative && i < lastNegative)

  sumFirstLastNegative += arr[i];

}

setlocale(0, "");

cout << "Сумма отрицательных элементов: " << sumNegative << endl;

cout << "Произведение элементов между минимальным и максимальным элементами: " << minMaxMult << endl;

cout << "Произведение элементов с парными (чётными) порядковыми номерами: " << evenMult << endl;

cout << "Сумма элементов между первым и последним отрицательными элементами: " << sumFirstLastNegative << endl;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на C++ для решения данной задачи:

```cpp #include using namespace std;

int main() { int n; cout << "Введите размер массива: "; cin >> n; double arr[n]; cout << "Введите элементы массива: "; for (int i = 0; i < n; i++) { cin >> arr[i]; } double sumNegative = 0; double prodMinMax = 1; double prodEven = 1; double sumBetweenNegatives = 0; int minIndex = 0; int maxIndex = 0; int firstNegativeIndex = -1; int lastNegativeIndex = -1; for (int i = 0; i < n; i++) { if (arr[i] < 0) { sumNegative += arr[i]; if (firstNegativeIndex == -1) { firstNegativeIndex = i; } lastNegativeIndex = i; } if (arr[i] < arr[minIndex]) { minIndex = i; } if (arr[i] > arr[maxIndex]) { maxIndex = i; } if (i > minIndex && i < maxIndex) { prodMinMax *= arr[i]; } if (i % 2 == 0) { prodEven *= arr[i]; } } for (int i = firstNegativeIndex + 1; i < lastNegativeIndex; i++) { sumBetweenNegatives += arr[i]; } cout << "Сумма отрицательных элементов: " << sumNegative << endl; cout << "Произведение элементов, расположенных между min и max элементами: " << prodMinMax << endl; cout << "Произведение элементов с парными номерами: " << prodEven << endl; cout << "Сумма элементов между первым и последним отрицательными элементами: " << sumBetweenNegatives << endl; return 0; } ```

Программа сначала запрашивает размер массива `n` и элементы массива у пользователя. Затем она проходит по массиву и вычисляет сумму отрицательных элементов, произведение элементов между минимальным и максимальным элементами, произведение элементов с парными номерами и сумму элементов между первым и последним отрицательными элементами. Результаты вычислений выводятся на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос