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 19-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
sumar cada digito de un numero entero

hola.. tengo el sig. problema tengo por decir algo el sig. numero 234567 y necesito sumar digito por digito del mismo o sea 2+3+4+5+6+7 como podria hacer?

Saludos



BlackFlash
Nothing is for Real
Responder Con Cita
  #2  
Antiguo 19-09-2006
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Convierte el número a una variable string y despues lo sumas caracter por caracter.

Saludos

PD: Bienvenido al Club
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 19-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Este tipo de problemas me recuerda a cuando estaba aprendiendo a programar :

Código Delphi [-]
function Suma(Numero: Integer): Integer;
begin
  Result:= 0;
  while Numero > 0 do
  begin
    inc(Result, Numero mod 10);
    Numero:= Numero div 10;
  end;
end;
Responder Con Cita
  #4  
Antiguo 19-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
otra cosita

muchas gracias!!, me simplifico la vida jaaj
ahora que puedo sumar digito por digito necesito quedarme con la ultima cifra de la suma... ¿solucion?
Responder Con Cita
  #5  
Antiguo 19-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
¿que significa la última cifra de la suma? ¿el último dígito? ¿no tenes ya suficientes ideas para obtenerlo a partir de lo ya dicho aqui?

La idea no es solo copiar y pegar... ¿realmente te interesa aprender? o mas bien sacar la tarea?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 19-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
Si tenes razon razon.. ya lo pude hacer....
Responder Con Cita
  #7  
Antiguo 19-09-2006
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
¡Ah! Muy bien, ¿y no lo vas a compartir como los demás compartieron contigo?

// Saludos
Responder Con Cita
  #8  
Antiguo 19-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
resolucion

Código:
Copy(S; Index, Count: Integer): string;
Código:
 var
  numero, resultado : string;

 begin
  numero := '12345678';
  resultado := Copy(numero, 8, 1);
  ShowMessage('resultado : '+resultado);
 end;
resultado : 8

Saludos
Responder Con Cita
  #9  
Antiguo 19-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Lo siento, pero ni '12345678' es un número, ni el resultado es 8, mas bien es '8'.

A mi nunca me ha gustado eso de convertir de números a caracteres para una operación que puede hacerse solo con números, por ejemplo:

Código Delphi [-]
function UltimoDigito(Numero: Int64): Byte;
begin
  result := Numero mod 10;
end;

var
  numero, resultado: Integer;
begin
  Numero = 12345678;
  Resultado := UltimoDigito(Numero); // ahora si, es 8
end;

Por eso decía que ya debieras tener suficientes ideas con lo dicho antes...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 19-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
eso ya lo se al resultado lo necesitaba en string, y mi solucion al fin de cuentas es valida ¿nop?
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
Rutina de digito verificador tulio Varios 4 09-08-2006 17:43:18
¡¡¡¿¿¿autocalcular el digito de control???!!! Giniromero Conexión con bases de datos 4 04-05-2006 15:00:50
¿existe alguna propiedad en TRichedit que permita mostrar el número de cada línea? nuri Varios 1 06-04-2006 13:58:17
De entero a hexa, y hexa a entero (o string) emeceuy Varios 5 02-06-2004 18:23:13
Modificar un str dígito a dígito fortran Varios 11 22-12-2003 16:44:46


La franja horaria es GMT +2. Ahora son las 21:52:41.


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