Да, да, я знаю, что этот код — кусок бреда, который даже близко не выполняет свою функцию, но я уже голову себе сломал и далеко я не математик (и не программист). Как же мне найти сумму чисел в массиве, при условии что длина массива может быть произвольной, а числа в нем разные, не имеющие какой либо последовательности?
Отслеживать
задан 3 сен 2011 в 15:53
user2771 user2771
9 ответов 9
Сортировка: Сброс на вариант по умолчанию
Честно не понял вопроса. В начале говорится — пытаюсь получить сумму некоторых чисел. а что значит некоторых?? Если всех чисел, то это очень просто сделать:
public static void testArray() < int myArray[] = ; int sum = 0; for (int i = 0; i < myArray.length; i++) < sum = sum + myArray[i]; >System.out.println(sum); >
Отслеживать
user417380
ответ дан 3 сен 2011 в 16:02
1,674 9 9 серебряных знаков 8 8 бронзовых знаков
Ну да, наверное всех. Не так выразился.
Прощу прощения, имелось ввиду, что в массиве может быть абсолютно разные числа, которые идут не по порядку и все такое.
Информатика 9 класс. ВЫЧИСЛЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА (УМК БОСОВА Л.Л., БОСОВА А.Ю.)
3 сен 2011 в 16:07
Я написал вам код, который суммирует все числа в массиве ,какой бы длины он ни был.
3 сен 2011 в 16:08
Блин так просто! Спасибо!
3 сен 2011 в 16:09
Нажмите только это спасибо))) Если ответ вам подошел, то заодно выбор ответа, чтобы вопрос закрылся)))
3 сен 2011 в 16:09
sum += myArray[i];
29 июл 2016 в 1:18
В Java 8 можно в 1 строку с помощью stream
int myArray[] = ; int total = IntStream.of(myArray).sum();
аналогично можно использовать класс Arrays
Arrays.stream(myArray).sum()
Метод stream имеет перегрузки для примитивных типов и обобщенный вид, что подойдет для массивов других типов.
Отслеживать
ответ дан 13 мая 2016 в 4:49
383 4 4 серебряных знака 11 11 бронзовых знаков
Существует несколько способов найти сумму элементов в массиве:
-
Используя Java 8 Stream API (сначала с помощью метода Arrays::stream преобразовываем массив в поток целых чисел, затем получаем сумму этого потока методом Stream::sum )
int array[] = ; int sum = Arrays.stream(array).sum();
int array[] = ; int sum = 0; for (int element : array) sum += element;
int array[] = ; int sum = 0; for (int i = 0; i < array.length; ++i) sum += array[i];
Онлайн примеры кода:
Отслеживать
ответ дан 18 ноя 2017 в 23:36
9,315 6 6 золотых знаков 23 23 серебряных знака 57 57 бронзовых знаков
>> задан 3 сен ’11 в 15:53 — спасибо вам за ответ!
20 ноя 2017 в 5:25
/** * Sum of all elements from 1 to 1000 */ final int sum = Stream.iterate(1, n -> n + 1).limit(1000).mapToInt(el -> el).sum();
Отслеживать
ответ дан 14 мар 2019 в 0:50
111 3 3 бронзовых знака
for (int i = 0; i
Отслеживать
user417380
ответ дан 2 апр 2017 в 20:02
Вот 3 способа, от самого примитивного, до нормального. Сильно не критикуйте, сам только учусь.
import java.util.Arrays; // сумма всех элементов массива, способ первый class BlaBlaBla1 < public static void main(String[] args) < int[] nums = ; int sum = 0; for (int i = 0; i < nums.length; i++) sum += nums[i]; System.out.println(«1ый способ = » + sum); >> // сумма всех элементов массива, способ второй class BlaBlaBla2 < public static void main(String[] args) < int[] nums = ; int sum = 0; sum = Arrays.stream(nums).sum(); System.out.println(«2ой способ = » + sum); > > // сумма всех элементов массива, способ третий: FOR-EACH class BlaBlaBla3 < public static void main(String[] args) < int[] nums = ; int sum = 0; for (int x : nums) sum += x; System.out.println(«3ий способ = » + sum); > >
Источник: ru.stackoverflow.com
C++ | Сложение элементов массива
3. Операции обработки одномерных массивов
Вычислим сумму элементов массива из предыдущей теории — усовершенствуем программу. Цикл, с помощью которого выводился массив, заменим на цикл, который будет прибавлять к переменной (s) каждый последующий элемент массива.
![]() |
![]() |
Задачи на поиск в массиве
Поиск максимального значения.
Идея поиска максимального значения заключается в следующем: каждый элемент массива поочерёдно сравнивается со следующим. Если он больше, то некоторой переменной max будет присвоено значение этого элемента. Напишем программу.
![]() |
![]() |
Найдём наибольшее число, удовлетворяющее некоторому условию.
Задача: найти максимальное чётное число. Для этого добавим в условие проверку на чётность при помощи операции mod.
![]() |
![]() |
Обмен значениями между элементами
Допустим, нам нужно удалить некоторый элемент массива.
Удалим элемент с индексом (6). Для этого добавляем ещё одну переменную, которая будет обозначать индекс удаляемого элемента. Далее массив будем выводить по частям. До удаляемого элемента — без изменений, пропустим удаляемый элемент и выведем остаток массива.
Источник: www.yaklass.ru
Вычисление суммы элементов списка при помощи рекурсии
Программа принимает на вход список и вычисляет сумму его элементов, используя рекурсию.
Решение задачи
- Определяем рекурсивную функцию, которая в качестве аргументов принимает список и его длину.
- Принимаем длину цикла и записываем ее в отдельную переменную.
- Создаем новую переменную и инициируем ее пустым списком.
- Для добавления элементов в список используем цикл.
- Передаем сформированный список и его длину в рекурсивную функцию в качестве аргументов.
- В качестве базы рекурсии принимается условие равенства длины списка 0 . Если длина списка равна 0 , работа функции завершается и она возвращает в качестве результата 0 .
- В противном случае возвращается сумма последнего элемента списка вместе с рекурсивным вызовом функции, где длина массива уменьшена на 1 .
- Значение рекурсивной функции записывается в отдельную переменную, значение которой потом выводится на экран.
- Конец.
Исходный код
Ниже дан исходный код, который вычисляет сумму элементов списка при помощи рекурсии. Результаты работы программы также даны ниже.
def sum_arr(arr, size): if (size == 0): return 0 else: return arr[size — 1] + sum_arr(arr, size — 1) n = int(input(«Введите длину списка:»)) a = [] for i in range(0, n): element = int(input(«Введите элемент списка:»)) a.append(element) print(«Весь список:») print(a) print(«Сумма элементов списка равна:») b = sum_arr(a, n) print(b)
Объяснение работы программы
- Пользователь вводит число элементов списка, которое сохраняется в отдельной переменной n .
- Далее пользователь n раз вводит элементы массива, длину которого мы будем вычислять.
- Введенные данные добавляются в заранее созданный список a при помощи функции append() . Для наглядности окончательный список выводится на экран.
- Затем введенный список и его длина передаются в качестве аргументов в рекурсивную функцию sum_arr() , код которой мы написали ранее.
- Как только длина списка уменьшается до 0 , работа функции прекращается и она перестает вызывать сама себя.
- Пока длина списка не равна нулю, функция возвращает сумму последнего элемента списка и вызов самой себя с длиной списка, уменьшенной на 1 .
- Результат работы функции записывается в переменную b , которая затем выводится на экран.
Результаты работы программы
Пример 1: Введите длину списка:3 Введите элемент списка:3 Введите элемент списка:56 Введите элемент списка:7 Весь список: [3, 56, 7] Сумма элементов списка равна: 66 Пример 2: Введите длину списка:5 Введите элемент списка:23 Введите элемент списка:45 Введите элемент списка:62 Введите элемент списка:10 Введите элемент списка:56 Весь список: [23, 45, 62, 10, 56] Сумма элементов списка равна: 196
Источник: pythonist.ru