Составьте программу , которая заполняет массив а [ 1..10 ] случайными целыми числами в диапазоне от 1 до 10 и находит сумму элементов с четными значениями и количество элементов с нечетными значениями.
Answers & Comments
Курчик
Держи :) На скриншоте код читабельней :) var a: array[1..10] of integer; i, ch, nech: integer; begin for i := 1 to 10 do begin a[i] := random(10) + 1; if a[i] mod 2 = 0 then ch := ch + 1 else nech := nech + 1; end; writeln('Количество чётных: ',ch); writeln('Количество нечётных: ',nech); end.
Курчик
Известно что массив имеет 10 элементов от 1 до 10, поэтому используем цикл for от 1 до 10. a[i] = Random(10) + 1 Так как функция рандом возвращает значения от 0 до n-1, мы прибавим к рандомному значению единичку и тогда диапазон будет от 1 до 10, что удовлетворяет условию задачу.
Курчик
Далее смотрим остаток от деления на два, так мы проверяем чётное или нечётное число. Допустим 7 mod 2 = 1 => 7 нечётное, или 6 mod 2 = 0 => 6 чётное. Ну и исходя из истинности условия находим кол-во.
Answers & Comments
var a: array[1..10] of integer; i, ch, nech: integer; begin for i := 1 to 10 do begin a[i] := random(10) + 1; if a[i] mod 2 = 0 then ch := ch + 1 else nech := nech + 1; end; writeln('Количество чётных: ',ch); writeln('Количество нечётных: ',nech);
end.
a[i] = Random(10) + 1
Так как функция рандом возвращает значения от 0 до n-1, мы прибавим к рандомному значению единичку и тогда диапазон будет от 1 до 10, что удовлетворяет условию задачу.
Допустим 7 mod 2 = 1 => 7 нечётное, или 6 mod 2 = 0 => 6 чётное.
Ну и исходя из истинности условия находим кол-во.