Задачи по JavaScript с решениями: дан одномерный массив целых чисел, найти сумму элементов, имеющих нечетные индексы; умножить все элементы на третий элемент массива
Программирование на языке JavaScript.
Задача: Дан одномерный массив целых чисел, состоящий из 9 элементов. Требуется:
- Найти сумму элементов, имеющих нечетные индексы, и количество элементов, значения которых меньше числа b и при этом кратны 5;
- Умножить все элементы, кратные 3, на третий элемент массива, кроме него самого (в случае, если он кратен числу 3).
Решение:
<!doctype> <html> <head> <title>Задачи по JavaScript</title> <script type="text/javascript"> var a=document.getElementsByTagName("input"); var mas=[]; var sum=0,j=0; function suma(){ var b=document.getElementById("chislB").value; for(i=0;i<=8;i++){ mas[i]=a[i].value; if (mas[i] < parseInt(b) && mas[i] % 5==0){ j++; } if (i%2 == 1) { sum=sum+parseInt(mas[i]); } } document.getElementById('SumEl').value = sum; document.getElementById('index').value = j; } function umno(){ var t=a[2].value; for(i=0;i<=8;i++){ if (a[i].value % 3==0 && i!=2) { a[i].value=a[i].value*t; } } } </script> </head> <body> <h1>Введите данные в массив</h1> <p> <input type="text" name="elmas1" size="3"> <input type="text" name="elmas2" size="3"> <input type="text" name="elmas3" size="3"> <input type="text" name="elmas4" size="3"> <input type="text" name="elmas5" size="3"> <input type="text" name="elmas6" size="3"> <input type="text" name="elmas7" size="3"> <input type="text" name="elmas8" size="3"> <input type="text" name="elmas9" size="3"><br><br> Введите число b: <input type="text" name="chislB" id="chislB" size="3"><br><br> <input type="button" id="btn" value="Найти сумму и количество эл-ов" onclick="suma()"><br><br> Сумма элементов массива, имеющих нечетное индексы: <input type="text" name="SumEl" id="SumEl" size="3"><br><br> Количество эл-ов < b и кратны 5: <input type="text" name="index" id="index" size="3"><br><br> <input type="button" value="Умножить" onclick="umno()"><br><br> </p> </body> </html>
Копируем выше описанный код в какой-нибудь текстовый редактор (лучше в Notepad++) и сохраняем файл в формате HTML.
Используемые функции и методы в коде:
document.getElementsByTagName() - возвращает массив элементов по тегу (элементу).
document.getElementById(id) - возвращает элемент по заданному id для дальнейшей работы с ним.
.value - возвращает значение "value" элемента.
parseInt() - преобразование в число.
Идея:
После того как заполнили массив и ввели число b, жмем "Найти сумму...". Срабатывает функция suma(), где сперва записываем наше число b в соответствующую переменную, а потом в цикле for перебираем наше элементы по индексу (массивы в JavaScript начинаются с индекса 0). В первом условии if мы высчитываем количество элементов, которые меньше числа b и при этом кратны 5. Во втором if - высчитываем сумму элементов, индексы которых нечетные числа.
Чтобы умножить элементы массива, жмем кнопку "Умножить". Срабатывает функция umno(), где сперва в переменную t записываем третий элемент массива. В цикле for перебираем элементы массива и проверяем условие: если элемент кратен 3 и это не третий элемент массива, то умножаем его на t.
По сути при нажатие "Умножить" исходный массив меняется, так что советую решить первый вопрос, а потом уже переходить ко второму.