Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   sumar cada digito de un numero entero (https://www.clubdelphi.com/foros/showthread.php?t=35741)

emenchi34 19-09-2006 21:19:18

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

egostar 19-09-2006 21:22:43

Convierte el número a una variable string y despues lo sumas caracter por caracter.

Saludos

PD: Bienvenido al Club

seoane 19-09-2006 21:29:24

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;

emenchi34 19-09-2006 21:41:09

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?

jachguate 19-09-2006 21:48:23

¿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?

emenchi34 19-09-2006 21:59:05

Si tenes razon razon.. ya lo pude hacer....:D

roman 19-09-2006 22:07:48

¡Ah! Muy bien, ¿y no lo vas a compartir como los demás compartieron contigo?

// Saludos

emenchi34 19-09-2006 22:47:41

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

jachguate 19-09-2006 22:59:04

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.

;)

emenchi34 19-09-2006 23:02:35

eso ya lo se al resultado lo necesitaba en string, y mi solucion al fin de cuentas es valida ¿nop?


La franja horaria es GMT +2. Ahora son las 08:12:06.

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