Pascal/Turbo Pascal - Numeros pares, Recursividad!!

 
Vista:

Numeros pares, Recursividad!!

Publicado por pincho00 (12 intervenciones) el 13/12/2004 12:38:29
Hola, tengo que hacer un programa que lea un numero y diga cuantos digitos pares hay en ese numero. El programa lo he hecho de forma normal, ahora tengo que hacerlo con recursividad, y lo he que escrito es lo siguiente:

program digpares;
uses crt;
var
dato:integer;
function npares(n:integer):integer;
var

begin

if (n and 1)<>0 then
npares:=0
else
npares:=npares(n div 10) +1;

end;

begin
clrscr;
writeln('Introduzca un numero: ');
read(dato);
writeln('Numeros pares: ',npares(dato));
readkey;
end.

No esta del todo bien, porque a veces no dice bien el numero de digitos pares. ¿Alguien puede ayudarme? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Numeros pares, Recursividad!!

Publicado por Hurricane (73 intervenciones) el 24/12/2004 19:17:48
Cambia la condición dentro de la función "npares":
if (n<10) then
Begin
if (n mod 2)=0 and (n>1) then
npares := 1
else
npares := 0;
End
else
npares := npares(n div 10) + npares(n mod 10);

Saludos ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar