Вопрос задан 01.05.2019 в 06:20. Предмет Информатика. Спрашивает Левина Катерина.

Задан одномерный массив А(N) (N<=60). Найти сумму положительных элементов и произведение

отрицательных массива. Если сумма больше произведения, найти максимальный элемент массива, а если нет – выдать об этом сообщение
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зиннурова Диана.
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var s:=a.Where(t->t>0).Sum;
  var p:=a.Where(t->t<0).Aggregate(BigInteger(1),(x,y)->x*y);
  Writeln('S = ',s,', П = ',p)
end.

Пример
n= 15
-61 -99 0 -48 -47 66 -27 89 -84 -77 32 -71 25 65 -42
S = 277, П = -7094887924215168
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи мы можем использовать следующий алгоритм:

1. Создаем массив A с элементами A[0], A[1], ..., A[N-1]. 2. Инициализируем переменные sum_positive = 0 (для хранения суммы положительных элементов) и prod_negative = 1 (для хранения произведения отрицательных элементов). 3. Проходим по массиву A и для каждого элемента A[i] выполняем следующие шаги: - Если A[i] > 0, то добавляем его к переменной sum_positive. - Если A[i] < 0, то умножаем его на переменную prod_negative. 4. После завершения цикла проверяем условие: если sum_positive > prod_negative, то выводим максимальный элемент массива A, иначе выводим сообщение о том, что сумма положительных элементов не больше произведения отрицательных.

Пример кода на Python:

```python def find_sum_and_prod(A): sum_positive = 0 prod_negative = 1 max_element = A[0]

for i in range(len(A)): if A[i] > 0: sum_positive += A[i] elif A[i] < 0: prod_negative *= A[i] if A[i] > max_element: max_element = A[i]

if sum_positive > prod_negative: print("Сумма положительных элементов больше произведения отрицательных.") print("Максимальный элемент массива:", max_element) else: print("Сумма положительных элементов не больше произведения отрицательных.")

# Пример использования A = [1, -2, 3, -4, 5] find_sum_and_prod(A) ```

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

0 0

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

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

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