Ver Mensaje Individual
  #7  
Antiguo 05-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
Cita:
Empezado por luisito2011 Ver Mensaje
respondan .... porfavor
No se si reir o llorar...

Bueno luisito...

1) ¿a que te refieres con eso de: "con vector si funciona"?... por que no nos muestras el codigo ejemplo..

2) ¿A que te refieres con que "no funciona"?, te sale error?, te miuestra un numero, pero te lo muestra mal??


3) hice la prueba y efectivamente el ordenamiento sirve... pero veo que el probelma esta en el intercambio que haces en el codigo interno...

Código Delphi [-]
procedure ordenar(var b:cnumeronatural);
var x,veces,i:integer;
begin
  for veces  := 1 to(b.NumeroDigitos - 1) do
    begin
      for i := 1 to (b.NumeroDigitos - veces) do
        begin
          if b.Digito(i) > b.Digito(I+1) then
          begin
           x:=b.digito(i);
            b.AsignarValor(b.Digito(I+1)* 10+ x);
          end;
        end;
    end;
end;


Es decir... si has analizado lo que esto hace????

No hay que hacer debug para ver que en cada iteraccion se destruye el numero..!!!

Si tenemos un valor b.Valor ==> 89675 entonces:
x:=8 //en la primera iteraccion
b.Valor==> (9) * 10 + 8 ..!!!

En tu segunda iteraccion vale 98... es decir... 89675 se convirtio en 98...

¿Sabes como hacer un seguimiento paso a paso? podrias valerte de un memo o algo para ver lo que tu codigo esta mostrando...

un saludo.
Responder Con Cita