Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задача с массивом. (https://javascript.ru/forum/misc/49016-zadacha-s-massivom.html)

failure 25.07.2014 19:09

Задача с массивом.
 
Здравствуйте.
Помогите разобраться со следующей проблемой, не знаю как решить задачу ниже.

Известна масса 10 людей. Людей, масса которых больше 100кг условно назовем "большими" . Посчитать среднюю массу "больших" и остальных людей.

Для примера:
window.onload = function() {

var masa = [107,89,102,108,94,72,70,84,112,73];
var j;
var big = new Array();

for (var i in masa) {
	
	if (masa[i]>100) {
			
	big[j] = /* ????????????? */;
	
	document.getElementById("div").innerHTML="Средняя масса больших людей = "+ /*    ?????????????   */ ;	

  }

	else {
		document.getElementById("div1").innerHTML="Средняя масса людей = " + /*    ?????????????    */ ;	
	}									
 } 

}

BETEPAH 25.07.2014 23:07

failure,
1) в 11й строке чему будет равно j?
2) как по-Вашему считается средняя масса?

failure 26.07.2014 01:30

Цитата:

Сообщение от BETEPAH (Сообщение 322774)
failure,
1) в 11й строке чему будет равно j?
2) как по-Вашему считается средняя масса?

1 - счетчик массива.
2 - сумма значений / количество , в коде ошибка.

Rise 26.07.2014 02:55

failure,
var mass = [107,89,102,108,94,72,70,84,112,73];
var nBig = 0, mBig = 0, aBig = 0;
var nNorm = 0, mNorm = 0, aNorm = 0;
	
for (var i = 0; i < mass.length; i++) {
	if (mass[i] > 100) {
		nBig++;
		mBig += mass[i];
	} else {
		nNorm++;
		mNorm += mass[i];
	}
}
aBig = Math.round(mBig / nBig);
aNorm = Math.round(mNorm / nNorm);
	
alert('Ср.масса больших: ' + aBig + '\nСр.масса обычных: ' + aNorm);

failure 26.07.2014 12:44

Rise,
Благодарю, разобрался.

BETEPAH 26.07.2014 14:44

var mass = [107,89,102,108,94,72,70,84,112,73];
var bigmass = mass.filter(function(x) {return x > 100});
var normmass = mass.filter(function(x) {return x <=100});
function average(arr) {
	return arr.reduce(function(x, y) {return x + y}, 0) / arr.length
}
console.log(average(bigmass));
console.log(average(normmass));

failure 26.07.2014 19:08

BETEPAH,
Спасибо) Интересное решение.


Часовой пояс GMT +3, время: 07:57.