Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/160: Рейтинг темы: голосов - 160, средняя оценка - 4.56
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153

Сложить все элементы массива

21.05.2013, 21:41. Показов 32892. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function assa()
{
var a = new Array(4,2,3,6,10);
var i;
var sun;
for(i=0;i < a.length;i++)
{
    sun = a[0] + a[1];
    sun = sun + a[i+1];
}
sun = sun / a.length;
return alert(sun);
}
Я знаю, что возвращает NAN из-за a[i+1].

Как же все-таки приплюсовать без NAN?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.05.2013, 21:41
Ответы с готовыми решениями:

Как разделить все элементы одного массива на все элементы другого массива?
Как разделить все элементы одного массива на все элементы другого массива, и вывести все получившиеся значения в третий массив, с учётом...

Сложить все элементы массива
Всем привет, как сложить все элементы массива? искал на просторах интернета, но всё очень сложно и не понятно, если вам не сложно то...

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

12
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
21.05.2013, 21:53
return alert (sun); - это очень оригинально

всякая функция может что-то делать, и может какое-то значение возвращать
либо и то, и другое... но по-отдельности

вы же пытаетесь "возвратить действие", что смешно

итак, возможны три варианта:
1 - функция только действует: тогда alert (sun); и закрывающая фигурная скобка
2 - функция только возвращает: тогда return sun; и закрывающая фигурная скобка
3 - функция и действует, и возвращает: тогда alert (sun);, затем return sun; и закрывающая фигурная скобка
-----

по сути вопроса
задайте изначально сумму равную нулю
и потом просто прибавляйте все элементы массива по очереди
и никаких [i+1] не надо будет
JavaScript
1
2
3
4
5
6
7
8
function assa ()
{
var a = new Array (4, 2, 3, 6, 10);
for(var sun = i = 0, li = a.length; i < li i++) sun += a [i]; // всего один оператор, поэтому фиг/скобок не надо
sun = sun / li;
alert (sun);
return sun;
}
* длину массива лучше посчитать один раз, а не заставлять JS-интерпретатор на каждом шаге цикла вычислять её заново
1
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
21.05.2013, 22:40  [ТС]
kalabuni, Если все нормально работает, почему бы и не вернуть действие?(return alert)

Ваш код не работал. Я немного переделал и код начал работать:
JavaScript
1
2
3
4
5
6
7
8
9
function assa ()
{
var a = new Array (4, 2, 3, 6, 10);
var li = a.length;
for(var sun = i = 0; i < li; i++) sun += a [i]; // всего один оператор, поэтому фиг/скобок не надо
sun = sun / li;
alert (sun);
return sun;
}
Можно ли как-нибудь реальзованить это: a[i+1]?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.05.2013, 00:07
Цитата Сообщение от VilDara Посмотреть сообщение
Ваш код не работал.
в строке #5 точка с запятой была пропущена
for(var sun = i = 0, li = a.length; i < li; i++) sun += a [i];
потому и не работал

можно, конечно, предел цикла надо задать length - 1
но зачем?
0
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
22.05.2013, 00:28  [ТС]
kalabuni, Просто нюансы языка хочу изучить.
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
22.05.2013, 01:08
VilDara, а что Вы, собственно, хотите/хотели?

Ваш код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function assa()
{
var a = new Array(4,2,3,6,10);
var i;
var sun;
for(i=0;i < a.length;i++)
{
    sun = a[0] + a[1];
    sun = sun + a[i+1];
}
sun = sun / a.length;
return alert(sun);
}
предполагает зависимость только от 1, 2 и a.length элемента массива a.
Допустим, Вы не хотели обращаться к неопределённому элементу a[a.length] и alert в return Вы тоже обсудили. Что происходит в 9 строке?!

От себя
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function assa()
{
var a = new Array(4,2,3,6,10);
var i;
var sun;
sun = a[0] + a[1];
for(i=0;i < a.length;i++)
{
    sun = sun + a[i];
}
sun = sun / a.length;
return (alert(sun),sun);
}
 
document.write(assa());
0
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
22.05.2013, 09:25  [ТС]
Mysterious Light, Я хочу узнать как сделать так, чтобы можно было ПРИБАВИТЬ число к i, и чтобы не возвращало NAN.(a[i+1] -- Как здесь прибавить?)


JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function assa()
{
var a = new Array(4,2,3,6,10);
var i;
var sun;
for(i=0;i < a.length;i++)
{
    sun = a[0] + a[1];
    sun = sun + a[i+1];
}
sun = sun / a.length;
return alert(sun);
}
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.05.2013, 09:34
вам этого никогда не узнать
потому что никто, кроме вас не понимает, что делает ваша функция

заголовок у вас "сложить все элементы массива"
на самом деле вы в своей функции внутри цикла на первом шаге к сумме двух первых элементов прибавляете третий
а потом - снова то же самое: к первым двум - четвёртый

в последний реальный шаг (который можно сделать без ошибки) вы к первым двум прибавляете последний
в итоге у вас не сумма всех элементов, а всего трёх: первых двух и последнего

и теперь вы ещё хотите, чтобы к этому маразму (к сумме двух первых) добавился ещё и какой-то несуществующий элемент?
у вас всё в порядке с головой?
0
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
22.05.2013, 09:36  [ТС]
Mysterious Light, Ничего особенного не происходит. Вместо того, чтобы задать переменной sun значение равное нулю и посчитать все элементы по очереди, я решил посчитать сначала 2 элемента и занести их в sun, a далее уже прибавлять следующие по очереди.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.05.2013, 09:38
Цитата Сообщение от VilDara Посмотреть сообщение
я решил посчитать сначала 2 элемента и занести их в sun, a далее уже прибавлять следующие по очереди.
вы по очереди ЗАНОВО к первым двум прибавляете очередной

так что "решили" вы хреновенько
0
 Аватар для VilDara
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
22.05.2013, 09:42  [ТС]
kalabuni, Я первую сумму хочу кое-где использовать: в последствии вынесу
JavaScript
1
 sun = a[0] + a[1];
из цикла и сначала использую сумму первых 2-ух элементов, а потом, чтобы к сумме прибавлялись остальные элементы массива.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.05.2013, 12:07
Цитата Сообщение от VilDara Посмотреть сообщение
сначала использую сумму первых 2-ух элементов, а потом, чтобы к сумме прибавлялись остальные элементы массива
а почему сумма именно двух первых?
а не трёх, не пяти, не десяти?

логику включите
при варианте сумма = 0 ваша функция сможет обрабатывать любой массив, включая и тот, который состоит из всего одного элемента
а ваша дурацкая затея - минимум 3 элемента требует от массива
0
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 1
25.12.2019, 02:03
Самое, пожалуй, простое решение

JavaScript
1
2
3
4
5
6
7
8
9
let sum = 0,i;
 
let len = 33721;
len = len.toString();
for(i = 0; i < len.length; i++) {
    sum += Number(len[i]);
}
 
console.log(sum);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2019, 02:03
Помогаю со студенческими работами здесь

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

Сложить попарно элементы массива, последний сложить с первым
помогите, пожалуйста, попарно сложить элементы массива x, последний элемент сложить с первым и записать результат в массив y

Два одномерных массива поэлементно сложить между собой - третий - сложить каждый элементы - вывести на экран
2 одномерных массива - сложить между собой - третий - сложить каждый элементы - вывести на экран. Помогите написать программу на...

Сложить отдельно все положительные и отрицательные элементы массива отдельно
Кому не лень помогите пожалуйста сделать эти задачи. Хотя бы несколько. Буду очень признателен. 1) Напишите программу, которая сначала...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru