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

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

21.05.2013, 21:41. Показов 32847. Ответов 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
Эксперт функциональных языков программированияЭксперт по математике/физике
4312 / 2104 / 431
Регистрация: 19.07.2009
Сообщений: 3,200
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru