Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывести максимальное число элементов массива (https://javascript.ru/forum/dom-window/59162-vyvesti-maksimalnoe-chislo-ehlementov-massiva.html)

ruslan_mart 30.10.2015 14:00

unkind, так функцию же запустить нужно. :)

nummax(array);

unkind 30.10.2015 14:02

Ruslan_xDD,
var array = new Array(5);
var i;
for(i=0;i<=5;i++)
{
array[i]=prompt("Введите " +i+" -е число:");
 }


function nummax (array)
    { var m= v[0]
      var k=1
      for (var z=1; z <= v.length-1; z++)
        { if (v[z] > m)
          {m= v[z]; k=1}
        else 
        if (v[z] == m) k++
        }
		nummax(array);
			 document.write ("Сумма ",m)
 
    }

если я верно понял

ruslan_mart 30.10.2015 14:05

var array = new Array(5);
var i;
for(i=0;i<=5;i++)
{
array[i]=prompt("Введите " +i+" -е число:");
 }


function nummax (array)
    { var m= v[0]
      var k=1
      for (var z=1; z <= v.length-1; z++)
        { if (v[z] > m)
          {m= v[z]; k=1}
        else 
        if (v[z] == m) k++
        }
	document.write ("Сумма ",m)
 
    }


nummax(array);

unkind 30.10.2015 14:08

Ruslan_xDD,
странно,не выводит результат

ruslan_mart 30.10.2015 14:13

var array = new Array(5), i;

for(i = 0; i < array.length; i++) {
    array[i] = +prompt('Введите ' + i + ' -е число:') || 0;
    //С помощью оператора "+" преобразуем результат ввода в число
    //Если преобразованное число будет NaN (bool false), то присваиваем 0
    // alert( +'bla' ) -> NaN
}

function nummax(array) {
    var i, n = 0;
    for(i = 0; i < array.length; i++) {
        if(array[i] > n) {
            n = array[i];
        }
    }
    return n;
}

alert( 'Максимальное число: ' + nummax(array) );

unkind 30.10.2015 14:18

Ruslan_xDD,
буду разбираться,в карму кинул)

unkind 31.10.2015 19:24

а если мне найти количество этих максимальных элементов нужно, то примерно так делать:
function nummax(array) {
    var i, n = 0;
    for(i = 0; i < array.length; i++) {
        if(array[i] > n) {
            n = array[i];
	   //ввести дополнительную переменную и в нее сохранять количество ?
        }
    }
    return n;
}


n.length пытался....

ruslan_mart 31.10.2015 20:09

unkind, как понять максимальных? В массиве есть максимальные и минимальные? И от кого числа отталкиваться?

Если же нужно получить количество элементов в массиве, то:

alert(array.length);

unkind 31.10.2015 20:27

Ruslan_xDD,
т.е ввожу : 1,1,1,3,3 и мен выводится,что максимальный элемент 3 а всего этих максимальных элементов 2 шт
этот скрипт выводит просто максимальный, я думал может в js есть функция count или что-то похожее,length-это количество всех элементов

ruslan_mart 31.10.2015 20:34

var array = new Array(5), i;

for(i = 0; i < array.length; i++) {
    array[i] = +prompt('Введите ' + (i + 1) + ' -е число:') || 0;
    //С помощью оператора "+" преобразуем результат ввода в число
    //Если преобразованное число будет NaN (bool false), то присваиваем 0
    // alert( +'bla' ) -> NaN
}

function nummax(array) {
    var count, i, n = 0;
    for(i = 0; i < array.length; i++) {
        if(array[i] > n) {
            n = array[i];
            count = 1;
        }
        else if(array[i] == n) {
            count++;
        }
    }
    return {count: count, max: n};
}

var result = nummax(array);
alert( 'Максимальное число: ' + result.max + '\nКол-во максимальных чисел: ' + result.count);


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