Привет всем, есть [spoiler=Задача]Задается количество элементов массива не более 100. Программа должна запросить столько чисел у пользователя. Элементами массива будут целые числа от -1000 то 1000. Если введено количество меньше 1, то количество элементов считается равным 10, а элементы заполняются случайными числами.
Найти минимальное положительное число. Это число нужно выделить. Если таких чисел несколько, выделить все.[/spoiler]
Есть код к подобной задаче, только он ищет числа оканчивающиеся на 8. Никак не могу понять, где и как изменить алгоритм и на какой. Спасибо.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>WUT?!</title>
<script>
function one(x)
{
document.getElementById("in").innerHTML = "";
document.getElementById("input").innerHTML = "";
document.getElementById("out").innerHTML = "";
var length = x >= 1 ? x <= 100 ? x : 100 : 10;
var mass1 = [];
var mass2 = [];
if(x < 1)
{
for(var i = 0, k = 0; i < length; i++)
{
mass1[i] = getRandom(-1000, 1000);
if( (mass1[i] % 10 == 8) && (mass1[i] > 0) && (mass1[i] % 2 == 0) )
{
mass2[k] = mass1[i];
k++;
}
}
if(mass2.length == 0)
{
for(var i = 0; i < length; i++) document.getElementById("in").innerHTML += mass1[i] + "</br>";
document.getElementById("out").innerHTML = "Не найдено подходящих элементов";
}
else
{
var min = mass2[0];
for(var i = 0; i < mass2.length; i++)
{
if(mass2[i] < min)
{
min = mass2[i];
}
}
for(var i = 0; i < length; i++){
if(mass1[i] == min)
document.getElementById("in").innerHTML += "<span style=" + "background-color:red" + ">" + mass1[i] + "</SPAN>" + "</br>";
else document.getElementById("in").innerHTML += mass1[i] + "</br>";
}
document.getElementById("out").innerHTML = "Минимальное положительное число': " + min;
}
}
else
{
createInputs(length);
}
}
function two(x)
{
document.getElementById("in").innerHTML = "";
document.getElementById("out").innerHTML = "";
var mass1 = [];
var mass2 = [];
for(var i = 0, k = 0; i < x; i++)
{
mass1[i] = Number(document.getElementById("in" + i).value);
if( (mass1[i] % 10 == 8) && (mass1[i] > 0) && (mass1[i] % 2 == 0) )
{
mass2[k] = mass1[i];
k++;
}
}
if(mass2.length == 0)
{
for(var i = 0; i < x; i++) document.getElementById("in").innerHTML += mass1[i] + "</br>";
document.getElementById("out").innerHTML = "Не найдено подходящих элементов";
}
else
{
var min = mass2[0];
for(var i = 0; i < mass2.length; i++)
{
if(mass2[i] < min)
{
min = mass2[i];
}
}
for(var i = 0; i < x; i++){
if(mass1[i] == min)
document.getElementById("in").innerHTML += "<span style=" + "background-color:red" + ">" + mass1[i] + "</SPAN>" + "</br>";
else document.getElementById("in").innerHTML += mass1[i] + "</br>";
}
document.getElementById("out").innerHTML = "Минимальное положительное число: " + min;
}
}
function getRandom(min, max)
{
return Math.floor(Math.random() * (max - min) + min);
}
function createInputs(count)
{
var result = "<form onsubmit=\"two(" + count + ");return false\">";
for (var i = 0; i < count; i++)
{
result += "<input type='text' id='in"+i+"' /><br />";
}
result +="<input type=\"submit\" value=\"Сгенерировать\"></form>";
document.getElementById("input").innerHTML = result;
}
</script>
</head>
<body>
<form onsubmit="one(length.value);return false" style =" display : inline">
<label>X</label>
<input type="number" name="length" size=3 value=-1 required>
<input type="submit" value="Сгенерировать ">
<p id="in"></p>
<p id="out"></p>
</form>
<div id="input"></div>
</body>
</html>