Ver Mensaje Individual
  #2  
Antiguo 17-10-2018
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.233
Reputación: 20
ElKurgan Va camino a la fama
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];
    // Número tiene que ser mayor o igual a 10 para que sean pares
    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
Responder Con Cita