Как найти сумму всех отрицательных элементов массива

Перейти к контенту

Вычислительная техника и дискретная математика

C++

Найдите сумму отрицательных элементов массива.

Решение:

int sum=0;
for (int i=0; i<n; i++)
{
   if (a[i]<0)
   {
      sum+=a[i];
   }
}
 
if (!sum)
{
   cout<<"no numbers < 0";
}
else
{
  cout<<"sum = "<<sum;
}

Рейтинг

( Пока оценок нет )

Добрый вечер!
Условия задачи: Дано одномерный массив А, состоящий из 18 элементов. Вычислить и напечатать сумму отрицательных одинаковых элементов.

Не понимаю, как мне подсчитать суму отрицательных значений и отсортировать массив, чтобы одинаковые элементы можно было вводить в разброс (если я ввожу одинаковые элементы в разброс, ничего не работает).
Спасибо!
Код задачи:

#include <stdlib.h>
#include <stdio.h>
#define N 18
int main() {
    int i, sum=0;
    int a[N] = {-5, -5, 6, 13, 10, 16, -18, -18, 11, 17, -3, -3, -7, -7, 9, 31, -4, -4};
    printf("Выходные данные = ");
    for (i = 0; i < N; i++) {
        printf("%d ", a[i]);
    }
    printf("nПарные элементы = ");
    for (i = 0; i < N; i++) {
        if (a[i] == a[i - 1] && a[i] < 0) {
            printf("%i ", a[i]);
            }
        }
        for (i = 0; i < N; i++) {
            sum += a[i] < 0;
        }
        printf("nСумма отрицательных элементов = %d", sum);

}

Лучший ответ

ra

Высший разум

(113218)


7 лет назад

a = Array.new(16) { Random.rand(-10..10) }
puts “array: #{a}nresult: #{a.select { |x| x < 0 }.reduce(:+)}”

Остальные ответы

Василий Полубнев

Просветленный

(21785)


7 лет назад

Объявляешь переменную sum того же типа, что и элементы массива. Присваиваешь ей 0.
В цикле от первого до последнего значения индекса массива проеряешь каждый элемент массива. Если он меньше 0, то прибавляешь его к переменной sum

Алекс Куха

Высший разум

(427196)


7 лет назад

print *,sum(a,mask=a<0)

for i:=1 to 16 do if a[i]<0 then sum:=sum+a[i];

Вадим СухотинМудрец (14276)

7 лет назад

Алекс, первая строчка – это какой язык ?

Алекс Куха
Высший разум
(427196)
fortran

Metotron

Искусственный Интеллект

(114389)


7 лет назад

бла-бла
if (A[nn] < 0) sum += A[nn]

var
   i,sum : integer;                           // объявляем переменные целочисленного типа.
   arr : array [1..100] of integer;     // объявляем массив.
Begin
    for i:= 1 to 100 do         // начало цикла.
      begin
         arr[i] := random(-100,100); // заполняем элемент массива числом  от -100 до 100.
         if arr[i] < 0 then                  // если элемент отрицательный.
            sum := sum + arr[i];        // считаем сумму элементов.
      end;
   writeln(‘Сумма отрицательных элементов массива: ‘, sum);   //вывод строки на экран.
End.

Добавить комментарий