Написать рекурсивную функцию нахождения количества четных элементов в массиве

GamBitFRK

Написать рекурсивную функцию нахождения количества четных элементов в массиве
2 ответа

GamBitFRK

uses crt;
const nmax=100;
type TArr=array[1..nmax] of integer;
function Chet(a:TArr;k,n:integer):integer;
begin
if a[k]mod 2=0 then
 begin
  if k=n then Chet:=1
  else Chet:=1+Chet(a,k+1,n)
 end
else
 begin
  if k=n then Chet:=0
  else Chet:=Chet(a,k+1,n)
  end;
end;
var Arr:TArr;
    n,i:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
for i:=1 to n do
 begin
  Arr[i]:=Random(20)+1;
  write(Arr[i]:4);
 end;
writeln;
writeln('Количество четных элементов массива = ', Chet(Arr,1,n));
readln
end.


GamBitFRK

спасибо))))