25
Янв

Задачи по JavaScript с решениями: дан одномерный массив целых чисел, найти сумму элементов, имеющих нечетные индексы; умножить все элементы на третий элемент массива

Категория: Универ

Программирование на языке 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.

По сути при нажатие "Умножить" исходный массив меняется, так что советую решить первый вопрос, а потом уже переходить ко второму.

Мой паблик в Вконтакте :)

Комментарии к записи Задачи по JavaScript с решениями: дан...