Programación General > Delphi

 Numeros Aleatorios

(1/1)

Azaghal:
Alguien sabe alguna forma de crear 15 numeros aleatorios ( del 0 al 50 ) donde nunca se repita alguno.

De antemano mil gracias

Enko:
Una posibilidad seria sacar numeros al azar y almacenarlos en un vector de 15 elementos. Ates de agregarlo al vector verificar si no está repetido.

La otra seria tener un vector de 50 elementos e inicialmente tener el indice del vector correspondiendo con el valor almacenado. Algo así:

--- Código: Text --- var  vector: array[1..50] of integer;begin for i:=1 to 50 do       vector[i] := i;   y ahora mezclarlo como si fuera una baraja de naipes:

--- Código: Text --- for i:=1 to 50 dobegin   randomIndex := random(50)+1;   Intercambiar(vector[i], vector[randomIndex]);end; procedure Intercambiar(A,B: Integer);var c: integer;begin      C := A;      A := B;      B := C;end;  
Ahroa tienes un vector de 50 elementos con 50 numeros aleatoreos de 1 al 50.  
Si usas los primeros 15, tendras 15 numeros aleatoreos del 1 al 50 sin repetir.
Puedes usar del 1 al 16, o del 30 al 45, es lo mismo.

Azaghal:
Ohhh  :o  Muchas gracias lo pondre en practica.

Navegación

[0] Índice de Mensajes

Ir a la versión completa