Hola, muchas gracias por responder, hoy me he percatado de que hay una forma bastante más sencilla que la anterior de hacerlo:
Con lo que "x" es entero de principio a fin
Ahora tengo problemas con otros dos:
El primero lo estoy terminando, pero es exageradamente largo y también tiene el problema de que el "entero x" resulta siendo real . Respecto al segundo, tengo la sospecha de que me va a quedar parecido al primero. Así que si alguien tiene alguna idea de como hacerlos, me ayudaría mucho que me orientaran, obviamente no diciéndome exactamente como hacerlo sino dándome alguna pista, qué funciones podría usar...
Saludos y muchas gracias!!!
Código (pascal) [Seleccionar]
program cuentadigitos;
var
x,c,aux:integer;
begin
repeat
write ('Nuevo numero: ');
read(x);
aux:=1;
c:=0;
repeat
c:=c+1;
aux:=aux*10
until abs(x)<aux;
writeln ('El numero ',x,' esta formado por ',c,' digitos');
until x=0
end.
Con lo que "x" es entero de principio a fin
Ahora tengo problemas con otros dos:
CitarDado un número entero "x", calcular la suma "s" de todos los dígitos que lo forman. Ej: si x=12, entonces s=1+2=3.
Citar
Determinar si un dígito "d" está presente en un entero "x". Ej: el dígito 5 está presente en el entero 345; el dígito 3 no está presente en el entero -122.
El primero lo estoy terminando, pero es exageradamente largo y también tiene el problema de que el "entero x" resulta siendo real . Respecto al segundo, tengo la sospecha de que me va a quedar parecido al primero. Así que si alguien tiene alguna idea de como hacerlos, me ayudaría mucho que me orientaran, obviamente no diciéndome exactamente como hacerlo sino dándome alguna pista, qué funciones podría usar...
Saludos y muchas gracias!!!