Pascal/Turbo Pascal - Ayuda con un programa de invertir números

 
Vista:

Ayuda con un programa de invertir números

Publicado por Daniel (1 intervención) el 28/03/2013 12:29:53
Hola, quería pediros ayuda con un programa que no consigo resolverlo completamente.

INVERTIR UN NÚMERO ENTERO: Haz un programa que reciba como entrada un
número entero mayor que cero y muestre al usuario el número resultante de invertir sus cifras. Si el número introducido por el usuario es menor que cero, deberás volvérselo a pedir tantas veces como sea necesario hasta que se decida a introducir uno mayor que cero.

Ejemplo de interacción:

Introduce un entero positivo: -1
Introduce un entero positivo: 1002
2001


Me explico. Consigo invertir todos los numero menos los que acaban o empiezan en 0; como por ejemplo: 0862; 9880.

Os dejo el programa que tengo a falta del fallo:

program invierte;
var n,nAux,ud,inv:integer;
begin
write('Introduce el numero:');
read(n);
{Con el comando while-do exigimos que el número debe ser mayor que 0;
insistimos en volver a pedir el numero hasta que este sea positivo}
while (n<=0) do begin
write('Introduce el numero:');
read(n);
end;
1- nAux - Donde almacenamos el cociente de la division de n entre 10
2- ud - En el que se almacena el resto de la division de n entre 10
3- inv - la cual comienza a escribir el resultado del resto}
nAux:=n div 10;
ud:=n mod 10;
inv:=ud;
while (nAux<>0) do begin
ud:=nAux mod 10;
nAux:=nAux div 10;
inv:=inv*10 + ud;
end;
write(inv);
end.


Muchas 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

Ayuda con un programa de invertir números

Publicado por ramon (2158 intervenciones) el 31/03/2013 16:15:40
Fíjate que los ceros de lante no son representaciones numéricas es cesto si marcan decimales
sino son ignorados por lo tanto 0324 el cero no sera tomado en cuentas a la hora de invertir
y 3240 al invertirlo el cero no lo considera un valor de presentación. Por eso no los sacas.
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