Как посчитать сумму элементов массива си
Перейти к содержимому

Как посчитать сумму элементов массива си

  • автор:

Как посчитать сумму элементов массива си

Все, что необходимо начинающему и опытному программисту

Вычисление суммы и количества элементов массива с заданными свойствами

Еще одна задача — посчитать сумму элементов, которые удовлетворяют какому-то условию. Наверное, вы уже поняли общий принцип: перебираем все элементы массива (цикл for) и проверяем для каждого элемента выполнение условия (оператор if).
Если условие выполнено, добавим элемент к сумме (S := S+A[i]).

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

Вот задача, очень похожая на предыдущую: посчитать количество элементов массива с указанными свойствами. Решается аналогично: переберем все элементы, проверим для каждого условие и, если оно выполнено, увеличим счетчик на единицу (к := к+1).

Пример 8.6.
Вычисление количества четных элементов массива (блок-схема алгоритма показана на рис. 8.7)

Как посчитать сумму элементов массива?

Надо написать функцию, которая принимает массив чисел и возвращает их сумму.

Вот мой неудачный код:

const arr = [20, 40, 77, 53]; const sum = 0; function count() < for (i = 0; i < arr.length; i++) < sum += arr[i]; >> count()
  • Вопрос задан более трёх лет назад
  • 28537 просмотров

Комментировать
Решения вопроса 2

WblCHA

Странно, столько ответов и ни одного редьюса.

const count = (arr) => arr.reduce((acc, num) => acc + num, 0);

А ещё почему-то никого не смутило, что автор к константе присваивает новое значение.

сумма элементов массива [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 7 лет назад .

Как найти сумму элементов массива, расположенных между максимальным и минимальным элементами массива, не включая максимальное и минимальное значение в си??

Отслеживать
задан 4 сен 2016 в 12:06
9 4 4 бронзовых знака

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

4 сен 2016 в 12:09

Учитесь формулировать свои мысли. Сумму максимального и минимального элементов массива, или сумму элементов между максимальным и минимальным элементами массива (включительно, нет)?

4 сен 2016 в 12:23
если бы я знал как просуммировать элементы между ними не задавал бы вопрос (
4 сен 2016 в 12:26
@Harry извеняюсь за неточность в вопросе
4 сен 2016 в 12:30

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Чтобы найти минимум:

  1. Заводите переменную для минимального значения, в неё заносите значение первой ячейки массива — array[0].
  2. Заводите переменную для индекса минимального значения, заносите в неё 0.
  3. В цикле от второй до последней ячейки выполняете сравнение значения ячейки с переменной минимума. Если значение ячейки (array[i], где i — счётчик цикла) меньше значения переменной минимума, присваиваем значение ячейки минимуму, а переменной индекса присваиваем индекс текущей ячейки i.

Выполняем те же действия для максимума с новыми переменными.

В результате в переменных индекса мы имеем индексы минимального и максимального значения. Осталось завести переменную для суммы, проинициализировать нулём и в цикле от одного индекса до другого посчитать сумму ячеек: sum += array[i], где i — счётчик цикла. Обратите внимание, что индекс максимального элемента может быть меньше индекса минимального.

UPD: если в сумму не нужно включать минимальное и максимальное значение, тогда сумму надо искать так: for (int i = index1 + 1; i < index2; i++).

Найти сумму элементов массива

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

Здравствуйте, уважаемые участники форума! Помогите, пожалуйста, найти знакопеременную сумму всех элементов массива (A0-A1+A2-A3+. ) и вывести результат на экран. Размерность массива 15. Массив я объявил. Дополните, пожалуйста мою программу, чтобы найти эту сумму. Если можно, то покажите, пожалуйста, как можно заполнить этот массив случайными числами с помощью команды rand. Заранее благодарен.

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
#include "stdafx.h" #include #include using namespace std; #include #define N 15 // Определение константы void main(void) { setlocale(LC_CTYPE, "rus"); int A[N]; // Объявление массива размера N int i; printf("Введите массив из %d чисел:\n", N); // Заполнение массива for (i = 0; iN; i++) { printf("A[%d]=", i); scanf_s("%d", &A[i]); } printf("Введеный массив:\n"); // Вывод массива for (i = 0; iN; i++) printf("A[%d]=%d\n", i, A[i]); }

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Найти сумму всех элементов массива и поделить каждый элемент на эту сумму
уже голову сломала че тут не так:wall: задание:дан массив А(5), найти сумму всех элементов, потом.

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

Найти сумму элементов массива, расположенных до минимального элемента массива
В одномерном массиве n вещественных элементов. вычислить: -произведение положительных элементов.

Найти сумму элементов массива в области правого и левого сегмента двумерного массива
Добрый день.Есть задание:Найти сумму элементов массива в области правого и левого сегмента.

55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463

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

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
#pragma hdrstop #pragma argsused #include #include #include #include #include int _tmain(int argc, _TCHAR* argv[]) { SetConsoleOutputCP(1251); SetConsoleCP(1251); int A[15]; // Объявление массива размера N int i,sum=0; printf("Введите массив A:\t"); for (i = 0; i  15; i++) { printf("A[%d]", i); scanf ("%i", &A[i]) ; } for (i = 0; i  15; i++) { //Вот тут и начинает подсчитывать сумму всех элементов. sum += A[i]; } printf("Сумма элементов = %d", sum); getch(); return 0; }

Добавлено через 9 минут
Немножко не правильно условие прочитал, исправил самым элементарным способом)
Заменил вот это

1 2 3 4
for (i = 0; i  15; i++) { sum += A[i]; }
sum = A[0]-A[1]+A[2]-A[3]+A[4]-A[5]+A[6]-A[7]+A[8]-A[9]+A[10]-A[11]+A[12]-A[13]+A[14];

Но здесь надо делать с помощью цикла и операться на то, что все чётные i прибавляются, а нечётные i отнимаются. Щас попробую сделать.

Добавлено через 1 час 2 минуты
Можно ещё таким вариантом. Естественно, если на экране sum sum1 sum2 будет мешать, то можно убрать.

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
#pragma hdrstop #pragma argsused #include #include #include #include #include #include int _tmain(int argc, _TCHAR* argv[]) { SetConsoleOutputCP(1251); SetConsoleCP(1251); int A[15]; // Объявление массива размера N int i,sum=0, sum1=0, sum2, konsum; printf("Введите массив A:\t"); for (i = 0; i  15; i++) { printf("A[%d]", i); scanf ("%i", &A[i]) ; } for (i = 0; i  15; i++) { sum += A[i]; } printf("Сумма всех элементов = %d\n", sum); for (i = 1; i  15; i=i+2) { sum1 += A[i]; } printf("Сумма чисел которые отнимаются = %d\n", sum1); sum2 = sum-sum1; printf("Сумма чисел которые прибавляются = %d\n", sum2); konsum = sum2 -sum1; printf("Знакопеременная сумма всех элементов массива = %d\n", konsum); getch(); return 0; }

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *