Numero Aleatorio e Irrepetible

09/09/2008 - 17:44 por Lazarte Federico | Informe spam
Estimados.
Necesito crear un numero aleatorio de 7 digitos y que este sea
irrepetible.
Este numero va a ser generado por unos 20 puestos de toma de datos,
cada uno generara su numero y tengo que tratar que no se repitan.
Alguien tiene algun ejemplo?.
Gracias,.

Preguntas similare

Leer las respuestas

#11 Carlos M. Calvelo
10/09/2008 - 20:00 | Informe spam
Hola Alfredo,

On 10 sep, 18:30, Alfredo Novoa wrote:

Por cierto, ¿Que es un OP?




Pues un operador (como + - * / )
No hombre. ;-)

OP = Original Poster
(El que abre un hilo)

Saludos,
Carlos
Respuesta Responder a este mensaje
#12 tuco
11/09/2008 - 01:51 | Informe spam
Un numero aleratorio de 7 digitos y que no se repita en los 20 puestos esta
dificil, algo sencillo y sin complicarse la vida seria
que a cada puesto le asignaras un id de 2 digitos de los 7 y el resto lo
menejes como un consecutivo, es decir:

CCNNNNN

donde CC seria el id del puesto de toma de datos, de 01 a 20 por ejemplo, y
estos dos digitos siempre son fijos por puesto, y NNNNN de 00001 a 99999 y
guardas el ultimo consecutivo generado y seria una manera para que no se
repitieran y tendrias un numero unico por puesto, y si manejas NNNNN
alfanumerico todavia tienes mas convinaciones.

saludos


"Lazarte Federico" wrote in message
news:
Estimados.
Necesito crear un numero aleatorio de 7 digitos y que este sea
irrepetible.
Este numero va a ser generado por unos 20 puestos de toma de datos,
cada uno generara su numero y tengo que tratar que no se repitan.
Alguien tiene algun ejemplo?.
Gracias,.
Respuesta Responder a este mensaje
#13 Alberto Poblacion
11/09/2008 - 07:44 | Informe spam
"tuco" wrote in message
news:%
Un numero aleratorio de 7 digitos y que no se repita en los 20 puestos
esta dificil, algo sencillo y sin complicarse la vida seria
que a cada puesto le asignaras un id de 2 digitos de los 7 y el resto lo
menejes como un consecutivo [...]



Sí, esto equivale a lo que propuse yo al principio cuando dije lo de
"asignar un rango a cada equipo". Pero creo que es mejor la idea de Alfredo
Novoa de dejar todos los números preasignados en un servidor central (si se
puede) o en su defecto extraer bloques de dichos números preasignados y
copiarlos en cada equipo.

Si se puede disponer de un servidor común al que tengan acceso todos los
equipos, otra alternativa que se me ocurre es escribir un servicio de
generación de números, instalarlo en el servidor, y que los puestos cada vez
que necesiten un nuevo número llamen a ese servicio por cualquier
procedimiento adecuado (por ejemplo, un webservice) y le pidan un nuevo
número.
Respuesta Responder a este mensaje
#14 Alfredo Novoa
11/09/2008 - 09:16 | Informe spam
Hola Alberto,

El Thu, 11 Sep 2008 07:44:12 +0200, Alberto Poblacion escribió:

Sí, esto equivale a lo que propuse yo al principio cuando dije lo de
"asignar un rango a cada equipo". Pero creo que es mejor la idea de Alfredo
Novoa de dejar todos los números preasignados en un servidor central (si se
puede) o en su defecto extraer bloques de dichos números preasignados y
copiarlos en cada equipo.



Pues yo creo que es mejor idea usar rangos y números secuenciales, o mejor
aun GUIDes, pero entonces ya no es lo que Federico preguntaba.

Yo simplemente trataba de contestar a lo que pedía Federico, pero me parece
una barbaridad implementar eso si es que existen otras alternativas. Como
se refería RFOG, no es trivial conseguir que la lista de números no se
corrompa nunca, y almacenar 10 millones de números en un SGBD es un poco
bestia si solo se pretende generar un código único.


Saludos
Alfredo
Respuesta Responder a este mensaje
#15 RFOG
11/09/2008 - 09:59 | Informe spam
Pero lo más chocante de todo es que el amigo OP o por otro nombre Lazarte
Federico no ha dado señales de vida en todo el hilo... ni para opinar si
le vale no no...

:-P

On Thu, 11 Sep 2008 09:16:08 +0200, Alfredo Novoa
wrote:

Hola Alberto,

El Thu, 11 Sep 2008 07:44:12 +0200, Alberto Poblacion escribió:

Sí, esto equivale a lo que propuse yo al principio cuando dije lo de
"asignar un rango a cada equipo". Pero creo que es mejor la idea de
Alfredo
Novoa de dejar todos los números preasignados en un servidor central
(si se
puede) o en su defecto extraer bloques de dichos números preasignados y
copiarlos en cada equipo.



Pues yo creo que es mejor idea usar rangos y números secuenciales, o
mejor
aun GUIDes, pero entonces ya no es lo que Federico preguntaba.

Yo simplemente trataba de contestar a lo que pedía Federico, pero me
parece
una barbaridad implementar eso si es que existen otras alternativas. Como
se refería RFOG, no es trivial conseguir que la lista de números no se
corrompa nunca, y almacenar 10 millones de números en un SGBD es un poco
bestia si solo se pretende generar un código único.


Saludos
Alfredo





Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
Internet facilita la información adecuada, en el momento adecuado, para el
propósito adecuado.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida