Ver Mensaje Individual
  #2  
Antiguo 04-05-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 22
gatosoft Va camino a la fama
Luisito, creo que tu problema está en los indices que utilizas en los bucles de ordenamiento... Por lo menos, en el "método de la burbuja" debería ser:

Código Delphi [-]
For i:= 1 to N-1 do
  For j:= i+1 to N do

Por otro lado te aconsejo, para mejorar tu clase:

1) utiliza las propiedades, son poderosas...

Código Delphi [-]
CNumeroNatural = Class (TObject)
Private
   FValor : Cardinal;
   procedure setValor(Value: Cardinal);
Public
  Property Valor: Cardinal read FValor write setValor;
end;//CNumeroNatural 

implementation

procedure setValor(Value: Cardinal);
Begin
  // validaciones, cálculos ...
  FValor := Value;
end;

De esta manera, no tenbdrias que llamar directamente el método: AsignarValor
así:

Código Delphi [-]
a:=cnumeronatural.crear;
Writeln('Digite un Numero');
Readln(a.Valor);

2) ¿Porqué el ordeamiento o hace parte de la clase?,

Código Delphi [-]
a.OrdenarDigitos

Eso por ahora...

Un saludo,
Responder Con Cita