Двумерный массив Js

128
25 июля 2019, 18:50

Матрица М состоит из 6 строк, 8 столбцов. Выяснить, сколько элементов в каждой строке превышают среднее арифметическое значение, определенное для этой строки. Из найденных величин составить массив Р.

P.s сделал переменную, она задумывалась как среднее арифметическое строки, но не вышло

var theArithmeticMean = 0;
    function getRandomInt(min, max){//Функция для генерации случайного числа
        return Math.floor(Math.random() * (max - min)) + min;
    }
    function CreateAnArray(rows,columns){ //Функция, которая создаёт двумерный массив
        var arr = new Array();
        for(var i=0; i<rows; i++){
            arr[i] = new Array();
            for(var j=0; j<columns; j++){
                arr[i][j] = getRandomInt(0, 10); 
                theArithmeticMean += parseInt(arr[i][j]);
            }
        }
        return arr;
    }
    var myMatrix = CreateAnArray(8,6); //Вызов функции для создания массива
    console.log(myMatrix);
    console.log(theArithmeticMean);
Answer 1

/** 
 * Функция для генерации случайного целого числа 
 */ 
function getRandomInt(min, max) { 
	return Math.floor(Math.random() * (max - min)) + min; 
} 
 
/** 
 * Функция, которая создаёт двумерный массив 
 */ 
function CreateAnArray(rows, columns) { 
	var arr = new Array(); 
	for (var i = 0; i < rows; i++) { 
		arr[i] = new Array(); 
 
		for (var j = 0; j < columns; j++) { 
			arr[i][j] = getRandomInt(0, 10); 
		} 
	} 
	return arr; 
} 
 
/** 
 * Возвращает массив с количеством элементов превышающих средние по срокам в матрице 
 */ 
function getCountsAverages(matrix) { 
 
	var result = []; 
 
	for (var i = 0; i < matrix.length; i++) { 
 
		// считаем среднее для строки 
		var sum = 0; 
		for (var j = 0; j < matrix[i].length; j++) { 
			sum += matrix[i][j]; 
		} 
		var average = sum / matrix[i].length; 
 
		// считаем количество элементов превысивших среднее по строке 
		result[i] = 0; 
		for (var j = 0; j < matrix[i].length; j++) { 
			if (matrix[i][j] > average) { 
				result[i] += 1; 
			} 
		} 
 
		// для проверки выводим в консоль 
		console.log("строка " + (i + 1) + ": " + matrix[i], "среднее: " + average, "количество: " + result[i]); 
	} 
	return result; 
} 
 
var myMatrix = CreateAnArray(8, 6); // Вызов функции для создания массива 
 
//console.log(myMatrix); 
 
var P = getCountsAverages(myMatrix); 
 
console.log("результат: " + P);

READ ALSO
react-router-dom не рендерит компонент

react-router-dom не рендерит компонент

Всем приветRoute не рендерит переданный в нее компонент Landing

123
Frontend. JavaScript. Как реализовать блок?

Frontend. JavaScript. Как реализовать блок?

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

130
Как можно назначить тексту класс?

Как можно назначить тексту класс?

Хотелось бы стилизовать эти надписи в опросе: "Нравится - 1 (100%)", "Так себе - 0 (0%)" и тд

124