Задание:
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000. Опишите на языке программирования "Паскаль" алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют нечетное значение и являются двузначными. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого нечетно и является двузначным числом.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
const
N=30;
var
a:array [1..N] of longint;
i,j,p:longint;
begin
for i:=1 to N do
readln(a[i]);
...
end.
Решение:
Недостающий фрагмент:
p:=1;
for i:=1 to n do
if (A[i] mod 2 <> 0) and (A[i]>9) and (A[i]<100) then begin
p:= p * A[i]
end;
Writeln(p);
Разбор:
* Так как умножение на 0 всегда будет давать 0, значит изначально переменной P присвоим значение 1.
* Далее в цикле(for) из 30 элементов и с помощью условия(if) находим нужные нам значения элементов. Первое условие проверяет значение на нечетность, то есть если мы делим на 2 и остаток не равен нулю. Второе условие проверяет, если значение больше 9, третье условие, если значение меньше 100, то есть число от 10 до 99 - это и есть двузначные. Если все три условия выполняются, тогда мы предыдущее значение переменной P умножаем на новое.
* По окончанию цикла выводим на экран значение P..