Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
Fuera de bromas, realmente no lo entiendo, en donde esta el "truco"?
Convierte el número en una cadena, toma el k-ésimo caracter y lo devuelve restándole $30 que es el código ascii del 0, es decir, conviertiendo el caracter de vuelta en número.

De todas formas, ya en el mensaje #6 se había establecido que no podían usarse cadenas.

LineComment Saludos
Responder Con Cita
  #2  
Antiguo 07-09-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
Convierte el número en una cadena, toma el k-ésimo caracter y lo devuelve restándole $30 que es el código ascii del 0, es decir, conviertiendo el caracter de vuelta en número
Gracias por explicarlo roman, la verdad no conocia ese "truquito" jugando con la tabla de ASCII. O bueno, en realidad lo mas preciso es decir que no lo recordaba, eso creo que lo vi alguna vez cuando nos enseñaban assembler
Responder Con Cita
  #3  
Antiguo 07-09-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quizá sería más claro restarle Ord('0') en lugar de $30

LineComment Saludos
Responder Con Cita
  #4  
Antiguo 07-09-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Joder no había visto el mensaje 6 lo siento, AgustinOrtu no creo que sea tan criptico el código he visto peores
Saludos...
Responder Con Cita
  #5  
Antiguo 07-09-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Pequeña variante de román cuenta los dígitos de izquierda a derecha

Código Delphi [-]
function DigitAtPos(N,K: Dword): DWord;
var e: DWord;
begin
   Result:=0;
   e:=(trunc(Ln(N)/Ln(10))+1);

   if K<=e then Result:=(N div trunc(intpower(10,e-K)))mod 10;
end;

begin
  Writeln(DigitAtPos(1248935,4));
  ReadLn;
end.

Última edición por BDWONG fecha: 07-09-2016 a las 20:00:13.
Responder Con Cita
  #6  
Antiguo 07-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Una observación sobre alguna de las variantes expuestas. Dado que realizan un conteo de base 0 (0, 1, 2, ...) la función debería devolver un valor distinto a 0 para señalizar un resultado inválido.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener determinado dígito de un número xneox Varios 10 07-10-2012 01:43:22
Pago Fácil, obtener dígito verificador DamianG Varios 3 25-09-2012 20:30:45
Eliminar un digito y mostrar el digito eliminado luisito2011 Varios 17 01-04-2011 05:27:17
Obtener la posición del cursor en un memo serg Varios 1 03-03-2008 00:21:47
Comparar un number dígito a dígito kuan-yiu SQL 2 25-06-2007 17:26:47


La franja horaria es GMT +2. Ahora son las 21:12:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi