5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
||||||
1 | ||||||
Сложить все элементы массива21.05.2013, 21:41. Показов 32437. Ответов 12
Метки нет (Все метки)
Как же все-таки приплюсовать без NAN?
0
|
21.05.2013, 21:41 | |
Ответы с готовыми решениями:
12
Как разделить все элементы одного массива на все элементы другого массива? Сложить все элементы массива Сложить все чётные элементы массива и разделить их на разность нечётных Сложить отдельно все положительные элементы этого массива, отдельно все отрицательные |
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
||||||
21.05.2013, 21:53 | 2 | |||||
return alert (sun); - это очень оригинально
всякая функция может что-то делать, и может какое-то значение возвращать либо и то, и другое... но по-отдельности вы же пытаетесь "возвратить действие", что смешно итак, возможны три варианта: 1 - функция только действует: тогда alert (sun); и закрывающая фигурная скобка 2 - функция только возвращает: тогда return sun; и закрывающая фигурная скобка 3 - функция и действует, и возвращает: тогда alert (sun);, затем return sun; и закрывающая фигурная скобка ----- по сути вопроса задайте изначально сумму равную нулю и потом просто прибавляйте все элементы массива по очереди и никаких [i+1] не надо будет
1
|
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
||||||
21.05.2013, 22:40 [ТС] | 3 | |||||
kalabuni, Если все нормально работает, почему бы и не вернуть действие?(return alert)
Ваш код не работал. Я немного переделал и код начал работать:
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
22.05.2013, 00:07 | 4 |
в строке #5 точка с запятой была пропущена
for(var sun = i = 0, li = a.length; i < li; i++) sun += a [i]; потому и не работал можно, конечно, предел цикла надо задать length - 1 но зачем?
0
|
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
|
22.05.2013, 00:28 [ТС] | 5 |
kalabuni, Просто нюансы языка хочу изучить.
0
|
22.05.2013, 01:08 | 6 | ||||||||||
VilDara, а что Вы, собственно, хотите/хотели?
Ваш код
Допустим, Вы не хотели обращаться к неопределённому элементу a[a.length] и alert в return Вы тоже обсудили. Что происходит в 9 строке?! От себя
0
|
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
||||||
22.05.2013, 09:25 [ТС] | 7 | |||||
Mysterious Light, Я хочу узнать как сделать так, чтобы можно было ПРИБАВИТЬ число к i, и чтобы не возвращало NAN.(a[i+1] -- Как здесь прибавить?)
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
22.05.2013, 09:34 | 8 |
вам этого никогда не узнать
потому что никто, кроме вас не понимает, что делает ваша функция заголовок у вас "сложить все элементы массива" на самом деле вы в своей функции внутри цикла на первом шаге к сумме двух первых элементов прибавляете третий а потом - снова то же самое: к первым двум - четвёртый в последний реальный шаг (который можно сделать без ошибки) вы к первым двум прибавляете последний в итоге у вас не сумма всех элементов, а всего трёх: первых двух и последнего и теперь вы ещё хотите, чтобы к этому маразму (к сумме двух первых) добавился ещё и какой-то несуществующий элемент? у вас всё в порядке с головой?
0
|
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
|
22.05.2013, 09:36 [ТС] | 9 |
Mysterious Light, Ничего особенного не происходит. Вместо того, чтобы задать переменной sun значение равное нулю и посчитать все элементы по очереди, я решил посчитать сначала 2 элемента и занести их в sun, a далее уже прибавлять следующие по очереди.
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
22.05.2013, 09:38 | 10 |
вы по очереди ЗАНОВО к первым двум прибавляете очередной
так что "решили" вы хреновенько
0
|
5 / 5 / 0
Регистрация: 27.08.2012
Сообщений: 153
|
||||||
22.05.2013, 09:42 [ТС] | 11 | |||||
kalabuni, Я первую сумму хочу кое-где использовать: в последствии вынесу
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
22.05.2013, 12:07 | 12 |
а почему сумма именно двух первых?
а не трёх, не пяти, не десяти? логику включите при варианте сумма = 0 ваша функция сможет обрабатывать любой массив, включая и тот, который состоит из всего одного элемента а ваша дурацкая затея - минимум 3 элемента требует от массива
0
|
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 1
|
||||||
25.12.2019, 02:03 | 13 | |||||
Самое, пожалуй, простое решение
0
|
25.12.2019, 02:03 | |
25.12.2019, 02:03 | |
Помогаю со студенческими работами здесь
13
Сложить попарно элементы массива, последний сложить с первым Два одномерных массива поэлементно сложить между собой - третий - сложить каждый элементы - вывести на экран Сложить отдельно все положительные и отрицательные элементы массива отдельно Сложить все элементы в массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |