Ver Mensaje Individual
  #1  
Antiguo 07-05-2022
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Reputación: 14
bulc Va por buen camino
Generar números sin repetidos ni consecutivos

Hola, tengo un código para generar números formados por dos dígitos, (añado cero en los menore de nueve). Funciona bien con números pequeños pero falla en números más altos.
Los números generados deben ser no consecutivos y no estar repetidos. A ver si podéis echarme una mano. Saludos

Código Delphi [-]
procedure TForm1.Button5Click(Sender: TObject);
Var
   I : Integer;      S  : String;
begin
S:='';
Randomize; 
Repeat
    I := Random(24) + 1 ;
    if I <=9 then T:= Format('%.*d', [2, I] ) else
                      T:= IntToStr(I);
     if POS( T,  S ) = 0  then        // Esta línea hace que se atasque el programa. Si se anula, el resto funciona.
      INSERT( T, S, Length(S) + 1) ;
Until Length(S) = 48   ;
Edit1.Text := S ;
end;
Responder Con Cita