Перейти к контенту
Вычислительная техника и дискретная математика
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.