Hola, Einer...
Si no te he entendido mal, para un array con estos valores "234, 243, 675, 667, 444" te debería devolver 3, ¿no? (sólo comienzan con dos pares el 243, el 667 y el 444).
Tal como lo planteas, la primera pasada me daría 5 puesto que todos empiezan por un par... Y luego lo sumas a contador final, con lo que el resultado final me da... ¡¡¡ 11 !!!
Creo que debería ser así:
Código Delphi
[-]var
nrox, ix: integer;
contadorfinal: integer;
numero1, numero2: integer;
begin
contadorfinal := 0;
while ix <= N do
begin
nrox := v[ix];
if nrox >= 10 then
begin
while nrox > 99 do begin
nrox := nrox div 10;
end;
numero1 := nrox div 10;
numero2 := nrox - (numero1 * 10);
if (not odd(numero1)) and (not odd(numero2)) then
contadorfinal := contadorfinal + 1;
end;
ix := ix + 1;
end;
label4.Caption:=inttostr(contadorfinal);
Espero haberte entendido bien
Un saludo