PDA

Ver la Versión Completa : Obtener determinado dígito de un número


xneox
06-09-2012, 02:07:03
hola a todos esta es mi primera ves aqui y nesecito una ayuda, debo hacer una funcion en consola que me muestre de un numero de cierta cantidad de digitos uno en especifico
ejemplo
253646
y yo escribo 2, que me muestre el digito que esta en la posicion 2 osea el numero 5

ecfisa
06-09-2012, 02:56:17
Hola xneox, bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php).

xneox, ¿ Podrías indicarnos que parte del problema o del código te está presentando dificultad ?


Saludos.

xneox
02-10-2012, 02:22:27
unit Uvega;

interface

function digito(a,b:integer):integer;

implementation

function digito(a,b:integer):integer;
var x,y,z :integer;
begin
x:=a;
y:=longitud(b);
while x<=y do
begin
z:= b mod 10;
b:= b div 10;
y:=longitud(b);
end;
digito:=z;
end;

end.
no me corre no se en que parte me sale que esta mal

ElDioni
02-10-2012, 09:47:43
Hola,

para empezar, ¿que es longitud?.

Saludos.

Casimiro Notevi
02-10-2012, 12:06:49
..

Recuerda poner los tags al código fuente, ejemplo:

http://neftali.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

ecfisa
02-10-2012, 13:31:36
Hola xneox.


function ObtenerDigito(Numero: Integer; const Posic: Byte): Integer;
var
Inverso, Resto, i: Integer;
begin
// Invertir
Inverso:= 0;
while Numero > 0 do
begin
Resto := Numero mod 10;
Inverso:= Inverso * 10 + Resto;
Numero := Numero div 10;
end;
// Obtener dígito
for i:= 1 to Posic do
begin
Result := Inverso mod 10;
Inverso:= Inverso div 10;
end;
end;


Saludos.

champy
02-10-2012, 16:53:58
Se me ocurre uno aún más corto.


Function ObtenerNumero(Numero: Integer; Posicion: Integer): Integer;
begin
Result := StrToInt(Copy(IntToStr(Numero), Posicion, 1));
end;

ecfisa
02-10-2012, 21:56:51
Hola champy.

Correcto y más simple además. ;)

En la programación práctica, no dudaría en manipular cadenas para obtener la posición o parte de un número. Pero por la forma en que xneox, presentó su código, me dió la impresión que el catedrático solicita una manipulación numérica de los dígitos, de allí la parafernalia de los mod y div :).

Saludos :)

champy
03-10-2012, 00:23:11
Aiins! Estos catedráticos y sus manías... ;)

Delphius
03-10-2012, 00:33:19
Aiins! Estos catedráticos y sus manías... ;)

Hola champy.

Correcto y más simple además. ;)

En la programación práctica, no dudaría en manipular cadenas para obtener la posición o parte de un número. Pero por la forma en que xneox, presentó su código, me dió la impresión que el catedrático solicita una manipulación numérica de los dígitos, de allí la parafernalia de los mod y div :).

Saludos :)
Otro hilo más que avala mi postura: si el profe te da manzanas, piensa en manzanas ;)

De manía nada. Es útil para condicionar al estudiante a que razone más; que lo trabaje más al código y al cerebro.

Saludos,

Casimiro Notevi
07-10-2012, 01:43:22
No olvides nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php), gracias por tu colaboración :)