FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Evitar que random se repita
Hola, esta consulta bien podría ir en el apartado general de delphi, pero bueno en este caso se trata de android. Sé que el problema puede ser una tonteria, pero a mi no me sale...
La cosa es que quiero que se genere un número aleatorio del 1 al 8 ambos inclusive para cada una de las etiquetas (label), yo tengo esto:
He probado también permitiendo el "randomize" del inicio y nada, el resultado es este o similar al de la captura. Como veis hay números que se repiten entonces, ¿de que forma puedo hacer que no se repitan si tener que hacer uso de un casi interminable "if"? Gracias de antemano.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#2
|
||||
|
||||
Hola danielmj
Te daré una idea general de cómo puedes resolverlo. Primero llena un vector con 8 posiciones o las que necesites (1, 2, 3, 4, 5, 6, 7, 8 ) Después en un ciclo con N repeticiones haces lo siguiente: genera dos números aleatorios (X1,X2) entre 1 y 8 Por ejemplo: X1 = 2 , X2 = 7 Ahora intercambia los valores contenidos en la posición X1 y X2 del vector Después de intercambiar te quedaría el vector así: (1, 7, 3, 4, 5, 6, 2, 8 ) Si repites esto N veces al final tendrás un vector desordenado aleatoriamente ( 6, 2, 4, 7, 3, 1, 8, 5) Elige un valor adecuado para N no muy grande. Este vector se lo asignas a tus etiquetas. Saludos |
#3
|
||||
|
||||
Hola héctor, gracias por responder tan rápido, al final encontré esta otra solución aquí en el foro (http://www.clubdelphi.com/foros/showthread.php?t=30894) haciendo uso de arrays y parace que va bien. Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#4
|
||||
|
||||
Es lo mismo, un vector es un array.
Cita:
|
#5
|
||||
|
||||
hola casimiro, gracias por la informacion jeje conocí la palabra array cuando me dieron las primeras clases de turbo pascal, lo unico que yo no les llamo vectores sino arrays, no sé será la costumbre.
Un saludo. P.D.: Ya aprovecho para comentaros la finalidad de esos numeros aleatorios, simplemente es por que como ya dije en otro post, estoy currando de vigilante y tanto en mi empresa como en la empresa contratante del servicio, me piden que no haga siempre el mismo recorrido, entonces decidí hacerme esta pequeña aplicacion para hacerme mas facil el trabajo, digamos que esos números aleatorios "dibujan" (de menor a mayor) un patrón y solo tengo que seguirlo para hacer las rondas, así nunca será el mismo recorrido. Espero haberme explicado correctamente.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#6
|
||||
|
||||
Cita:
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Validar contenido campo para que no se repita | fwhite | Conexión con bases de datos | 5 | 07-02-2012 17:14:51 |
evitar que un mdichlid se repita mas de 1 vez | granodetoro | Varios | 9 | 26-04-2011 03:15:42 |
como evitar que un formulario MDICHILd se repita cada ves que lo llamo | granodetoro | C++ Builder | 7 | 30-03-2011 01:59:55 |
generar numero de 9 cifras aleatorio que nunca se repita | coletaun | Varios | 9 | 19-02-2007 10:34:29 |
controlar que un artículo que exista no se repita | josejose | Varios | 2 | 17-01-2007 19:27:04 |
|