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

Обходите массив. На каждой итерации проверяете текущий итерируемый элемент: больше ли он нуля, либо же меньше. Складываете в результат только те, что больше нуля:

let array = [-2, 4, -10, 8];
let result = 0;
for (let i = 0; i < array.length; i++) {
    if (array[i] > 0) {
        result += array[i];
    }
}
console.log(result);

let array = [-2, 4, -10, 8];
let summ = array.reduce((a,v)=>v>0?a+v:a, 0);

Более понятный вариант для начинающего

const array = [1, 2, 4, -15, 20, -5, -7] // массив
let value = 0 // сюда записываем результат
array.forEach((element) => value += element > 0 ? element : 0) // перебор массива array + условие (что нужно прибавить к value)

let array = [-2, 4, -10, 8];
let count = 0;
for (let i = 0; i < array.length; i++) {
  if (!String(array[i]).startsWith("-")) {
     count += array[i]
  }
}
console.log(count) // 12

Компьютерные Технологии в Обучении

Информационный блок

Рекламный блок

Использование циклов. Сумма положительных элементов массива

Σ Сумма элементов массива. 🔁 Циклы for, while, repeat. Пять примеров решения задачи на языке Паскаль. В некоторых вариантах используется синтаксис для PascalABC.NET

Σ Сумма случайных чисел. 🔁 Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

🔀 Обмен двух чисел в массиве. Тема «Циклы и массивы». Два варианта решения задачи.

Σ Вычисление суммы цифр числа. Пять вариантов решения задачи, в том числе одно по рекомендациям PascalABC.NET (качество кода 149%).


Циклы for, while, repeat. Шесть примеров решения задачи на языке Паскаль. Варианты для Turbo/Borland/FreePascal и PascalABC.NET

Цикл for. Найти сумму положительных элементов вещественного массива

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.

Program Summa10;
Var
i : Integer;
Summa : Real;
A : array [1..10] of Real;
begin
writeln(‘Введите 10 вещественных чисел ‘);
for i := 1 to 10 do readln(A[i]);
Summa := 0;
for i := 1 to 10 do
if (A[i] > 0) then Summa := Summa + A[i];
writeln(‘Сумма = ‘, Summa);
end.

Цикл for. Найти сумму положительных элементов массива

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.
Вариант для PascalABC.NET

begin
var A : array [1..10] of Real;

var Summa := 0.0;
write(‘Введите 10 вещественных чисел ‘);
for var i := 1 to 10 do begin // Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла
A[i] := ReadlnReal;
if (A[i] > 0) then Summa := Summa + A[i];
end;
writeln(‘Сумма = ‘, Summa);
end.

Цикл while. Найти сумму положительных элементов массива

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.

Program CalcSum;
Var
i : Integer;
Summa : Real;
A : array [1..10] of Real;
begin
writeln(‘Введите 10 вещественных чисел ‘);
i := 1;
while i <= 10 do begin
readln(A[i]);
i := i + 1;
end;
Summa := 0;
i := 1;
while i <= 10 do begin
if (A[i] > 0) then Summa := Summa + A[i];
i := i + 1;
end;
writeln(‘Сумма = ‘, Summa);
end.

Цикл while. Вычислить сумму положительных элементов массива

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.

var
i: Integer;
Summa: Real;
A: array [1..10] of Real;
begin
write(‘Введите 10 вещественных чисел ‘);
i := 1;
Summa := 0;
while i <= 10 do
begin
readln(A[i]);
if (A[i] > 0) then Summa := Summa + A[i];
i := i + 1;
end;
writeln(‘Сумма = ‘, Summa);
end.

Цикл while. Сумма положительных элементов массива. Вариант для PascalABC.NET

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.

begin
Var
A : array of Real := New real[10]; // Динамический массив. Индексы в массиве начинаются с 0
Var
i : Integer := 1;
Var
Summa : Real := 0;

writeln(‘Введите 10 вещественных чисел ‘);
while i <= 10 do begin
A[i-1] := ReadReal;
if (A[i-1] > 0) then Summa += A[i-1];
i += 1;
end;
Println(‘Сумма = ‘, Summa);
end.

Цикл repeat. Сумма положительных элементов массива

Задание:
Ввести с клавиатуры массив из 10 вещественных чисел.
Найти сумму положительных элементов массива.
Вариант для PascalABC.NET

Var
i : Integer = 1;
Summa : Real = 0;
A : array [1..10] of Real;
begin
writeln(‘Введите 10 вещественных чисел ‘);
repeat
A[i] := ReadReal(‘Введите число ‘);
if (A[i] > 0) then Summa += A[i];
i += 1;
until i > 10;
Println(‘Сумма = ‘, Summa);
end.


Σ Сумма элементов массива. 🔁 Циклы for, while, repeat. Пять примеров решения задачи на языке Паскаль. В некоторых вариантах используется синтаксис для PascalABC.NET

Σ Сумма случайных чисел. 🔁 Циклы for, while. Три задачи на нахождение суммы случайно сгенерированных элементов. Для каждой задачи приведено два варианта — классический синтаксис (Turbo/Borland Pascal) и PascalABC.NET

🔀 Обмен двух чисел в массиве. Тема «Циклы и массивы». Два варианта решения задачи.

Σ Вычисление суммы цифр числа. Пять вариантов решения задачи, в том числе одно по рекомендациям PascalABC.NET (качество кода 149%).

Рекламный блок

Информационный блок

0 / 0 / 0

Регистрация: 20.01.2016

Сообщений: 26

1

Найти сумму всех положительных элементов массива

02.02.2016, 14:01. Показов 14643. Ответов 10


Студворк — интернет-сервис помощи студентам

написать на программе на c# найти сумму всех положительных элементов массива результат вывести на экран.



0



Евгений Ратник

1 / 1 / 1

Регистрация: 04.01.2016

Сообщений: 44

02.02.2016, 14:11

2

Лучший ответ Сообщение было отмечено Сттас как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//найти позиции первого и последнего положительных элементов
for (int i = 0; i < itemsCount; i++)
{
if (Mas[i] > 0)
{
if (!foundFirstelement)
{
firstId = lastId = i;
foundFirstelement = true;
}
else
{
lastId = i;
}

Дальше сам



1



Legend072

24 / 24 / 22

Регистрация: 22.02.2015

Сообщений: 125

02.02.2016, 14:14

3

Лучший ответ Сообщение было отмечено Сттас как решение

Решение

Сттас,

C#
1
2
3
4
5
6
7
8
9
10
11
12
            Random R = new Random();
            int[] m = new int[5];
            int sum = 0;
            Console.WriteLine("Исходный массив:");
            for(int i=0; i<m.Length;i++)
            {
                m[i] = R.Next(-10, 11);
                Console.Write(" " + m[i]);
                if (m[i] > 0)
                    sum += m[i];
            }
            Console.WriteLine("nСумма положительных: " + sum);



1



0 / 0 / 0

Регистрация: 20.01.2016

Сообщений: 26

02.02.2016, 15:15

 [ТС]

4

спасибо

Добавлено через 15 минут
а весь код можно

Добавлено через 27 минут
не работает программа



0



24 / 24 / 22

Регистрация: 22.02.2015

Сообщений: 125

02.02.2016, 15:35

5

Сттас, выложите код, который у вас не работает.



1



greg zakharov

Покинул форум

5642 / 1427 / 350

Регистрация: 07.05.2015

Сообщений: 2,803

02.02.2016, 16:39

6

Лучший ответ Сообщение было отмечено Сттас как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System;
using System.Linq;
 
internal sealed class Program {
  static void Main() {
    Random r = new Random();
    Int32[] arr = Enumerable.Range(0, 10).Select(i => r.Next(-100, 100)).ToArray();
    Console.Write("Элементы массива: ");
    foreach (Int32 a in arr) Console.Write("{0} ", a);
    Console.WriteLine(
      "nСумма положительных элементов: {0}",
      arr.Where(i => i > 0).Sum()
    );
  }
}



1



Psilon

Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

02.02.2016, 17:20

7

C#
1
2
3
4
5
6
7
8
9
10
11
using System;
using System.Linq;
 
class Program
{
    static void Main()
    {
        var source = Enumerable.Range(-100, 200);
        Console.WriteLine(source.Sum(x => x > 0 ? x : 0));
    }
}



0



Ankoo

2 / 2 / 3

Регистрация: 20.03.2015

Сообщений: 112

02.02.2016, 17:48

8

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array = new int[10];
            int[] count = new int[10];
            Random r = new Random();
            int summ = 0;
            for (int i = 0; i < array.Length; i++)
            {  array[i] = r.Next(-100,100);  }
            Console.WriteLine("Вывод массива");
            for (int i = 0; i < array.Length; i++)  
            {                                       
                Console.Write("  " + array[i]);     
            }                                       
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > 0) { count [i] = array[i]; };
            }
            Console.WriteLine();
            Console.WriteLine("Вывод массива положителиных элементов");
            for (int i = 0; i < count.Length; i++)  
            {                                                   
                Console.Write("  "+ count[i]);      
            }
            Console.WriteLine();
            for (int i = 0; i < count.Length; i++)
            {
                summ = summ + count[i];
            }
            Console.WriteLine("Сумма положительных элементов массива {0}", summ);
            Console.ReadKey();
        }
        
 
    }
}



1



0 / 0 / 0

Регистрация: 20.01.2016

Сообщений: 26

02.02.2016, 19:07

 [ТС]

9

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace massiv13
{
class Program
{

static void Main(string[] args)
{
Console.WriteLine(«Введите размер массива»);
int n = Convert.ToInt32(Console.ReadLine());
int[] array = new int[n];
int numOfNegativ = 0;
List<int> arrayNew = new List<int>();
Console.WriteLine(«Введите числа массива»);
for (int i = 0; i < n; i++)
{
array[i] = Convert.ToInt32(Console.ReadLine());
if (numOfNegativ < n)
{
if (array[i] < 0)
{
numOfNegativ++;
}
else { arrayNew.Add(array[i]); }
}
else { arrayNew.Add(array[i]); }

}
Console.WriteLine(«Отсортирорванный массив целых чисел:»);
foreach (int item in arrayNew) { Console.Write(item + » «); }
Console.ReadKey();
}
}
}



0



24 / 24 / 22

Регистрация: 22.02.2015

Сообщений: 125

02.02.2016, 21:12

10

Сттас, каким образом этот код относится к задаче? Вы тут что-то сортируете, а сами просите найти сумму всех положительных в теме. Вам нужно отсортировать массив или все таки найти сумму положительных?



0



0 / 0 / 0

Регистрация: 20.01.2016

Сообщений: 26

03.02.2016, 08:36

 [ТС]

11

найти сумму



0



var arr = [2, 5, 9, 15, 0, 4];
for (var i = 0; i < arr.length; i++) {
    if (arr[i]%2 !=1){
        console.log(arr[i]*2)
    }
}

задан 27 апр 2021 в 9:04

Blazer's user avatar

1

Не ясно зачем вы проверяли число на четность, но если надо положительные, то так:

var arr = [2, 5, 9, 15, 0, 4, -9];
var sum = 0;
for (var i = 0; i < arr.length; i++) {
    if (arr[i] > 0){
        sum += arr[i];
    }
}
console.log(sum);

Либо:

const arr = [2, 5, 9, 15, 0, 4, -9];
console.log(arr.reduce((a, c) => c > 0 ? a + c : a, 0));

ответ дан 27 апр 2021 в 9:06

entithat's user avatar

entithatentithat

13.1k2 золотых знака19 серебряных знаков37 бронзовых знаков

4

**Тоже недавно начал изучать JS и тоже видел эту задачу, сделал её так: **

let arr = [1,2,5,5,-1,-2,-3,-4,-5];
let result = 0;
for (let i = 0; i < arr.length; i++){
    if (arr[i] < 0) continue
    else if(arr[i] > 0){
        result += arr[i]
    }
}
console.log(result);

ответ дан 16 мар 2022 в 13:22

Zahar Borisenko's user avatar

2

Напишем программу, которая вычисляет сумму положительных элементов в массиве.

 Вычисление суммы положительных элементов массива.



program massiv6;
uses crt;
const N=10;
type x=array [1..N] of integer;
var a:x;
i:integer;
s:integer;
begin
clrscr;
randomize;
for i:=1 to N do
begin
a[i]:= -100+random(201);
write (A[i]:5)
end;
writeln;
s:=0;
for i:=1 to N do
if a[i]>0 then
begin
s:=s+a[i]
end;
writeln (‘Сумма положительных элементов =  ’,s:5);
readln
end.



В строке №7 переменная «S» – для хранения суммы.

В строке №13 генерируем 10 различных чисел в диапазоне от – 100 до + 100.

В строке №14 выводим эти числа на экран.

В строке №17 обнуляем переменную «S»

В строке 19 задаем условие: если значение элемента массива (т.е. если сгенерированное число) больше 0, тогда в строке №21 прибавляем к сумме это число. Таким образом, после выполнения цикла, все положительные числа должны прибавиться к общей сумме.

summa polozhiteljnihkh ehlementov massiva

summa polozhiteljnihkh ehlementov massiva.


Предыдущая статья : Нахождение максимального элемента массива.

Оглавление : Уроки Паскаль.

Следующая статья : Подсчет количества четных элементов в массиве.


Понравилась статья? Поделить с друзьями:
  • Мой sony смартфон как найти
  • Формулы для арифметической прогрессии как найти разность
  • Как найти родственников своего рода
  • Как найти индийских поставщиков
  • Как по картинке найти название растения