Показать сообщение отдельно
  #3 (permalink)  
Старый 11.10.2013, 12:45
Аспирант
Отправить личное сообщение для vashurin Посмотреть профиль Найти все сообщения от vashurin
 
Регистрация: 01.04.2008
Сообщений: 52

Сообщение от Anna77 Посмотреть сообщение
Здравствуйте! Подскажите, можно ли при нахождении максимального элемента проверять элементы как числа? т.к. в данной задаче получается 8 больше чем 44, к примеру.
var Arr = Array();
for (var i = 0; i<10; i++)
{
Arr[i] = prompt("Введите " + i + "-й элемент массива:");
}
document.write("Введенный массив из 10 элементов: Arr [" + Arr + "] " + "</br>");

var arrLength = Arr.length;

var n = Arr.length, max = Arr[0], count = 1;

for (var i = 1; i < n; i++)
{if (Arr[i] > max)
{max = Arr[i]; count = 1;}
else
{if (Arr[i] == max) count++;}
}
document.write("Максимальное значение массива: " + max + ", его количество: " + count);
Ну во-первых, при вводе надо проверять, что вводится, это вообще число? К тому же, все, что вводится по умолчанию считается строкой, т.е. нужно принудительное преобразование типов, parseInt() и parseFloat() вам в помощь.
Во-вторых, document.write лучше не использовать, а использовать innerHTML

Последний раз редактировалось vashurin, 11.10.2013 в 12:48.
Ответить с цитированием