Var i, b, c, n, m: integer;
a: string;
d: array [0..50] of integer;
begin
readln(n, m);
a := inttostr(n);
for i := 1 to length(a) do
if (strtoint(a[i]) mod 2 = 0) then
begin
d[c] := strtoint(a[i]);
c := c + 1;
end;
for i := 0 to m - 1 do
writeln(d[i], ' ');
end.
Так, кажется, только если ввести число больше кол-ва чётный цифр в числе, то будет ошибка, я не знаю, как бороться.