• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Generar numeros aleatorios de verdad.

    Programado Fijo Cerrado Movido
    Software
    6
    23
    5.7k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • vallekanoV
      vallekano @josefu
      Última edición por

      Si no recuerdo mal:

      Si usas "random" así de priumeras si que usa la hora del sistema o algo parecido.

      Pero si pones al principio del programa un "randomize" entonces se crea una especie de variable (pool), en la que va "volcando" todos los datos que pasan por el programa (variables, constantes, E/S, etc…), y cuando llamas a "random" usa esa variable para calcular el numero aleatorio.

      De esta manera es un numero aleatorio bastante "puro".

      maxferM 1 Respuesta Última respuesta Responder Citar 0
      • maxferM
        maxfer @vallekano
        Última edición por

        Cobito, de momento nadie a sido capaz de conseguir numeros realmente aleatorios, de momento es imposible. Según tengo entendido si se consiguiesen numeros 100% aleatorios la informatica daria el paso mas grande de su historia….
        Así que tendras que conformarte con los pseudo-aleatorios que se consiguen actualmente. Si consigues nº 100% aleatorios conseguirias el nobel de algo (hiriamos a medias, no? :vayatela: )

        dew!!

        cobitoC 1 Respuesta Última respuesta Responder Citar 0
        • cobitoC
          cobito Administrador @maxfer
          Última edición por

          Una pregunta: Eso de captar el ruido en Unix me parece realmente interesante, pero se puede hacer en C?
          Por otra parte me gustaria que alguien me pusiera codigo fuente de ejemplo sobre como crear numeros aleatorios con randomize ya que he buscado en google y no encuentro nada al respecto.

          Gracias.

          PD: Lo del premio nobel lo dejare para otro momento porque me da vergüenza salir en publico :rolleyes:

          Toda la actualidad en la portada de Hardlimit
          Mis cacharros

          hlbm signature

          vallekanoV 1 Respuesta Última respuesta Responder Citar 0
          • vallekanoV
            vallekano @cobito
            Última edición por

            Si esque no tiene nada el codigo:

            Tu pones:

            randomize();
            

            Y luego cada vez que quieras un numero haces

            mi_numero = random(1);
            

            Lo que te da un numero aleatorio entre 0 y 1. Que luego multiplicando por lo que sea obtienes un numero entre los intervalos que necesites.

            cobitoC 1 Respuesta Última respuesta Responder Citar 0
            • cobitoC
              cobito Administrador @vallekano
              Última edición por

              Pero que biblioteca tengo que incluir?

              Toda la actualidad en la portada de Hardlimit
              Mis cacharros

              hlbm signature

              vallekanoV 1 Respuesta Última respuesta Responder Citar 0
              • vallekanoV
                vallekano @cobito
                Última edición por

                pues eso ahora mismo n olo se peeor el tito google seguro que si

                cobitoC 1 Respuesta Última respuesta Responder Citar 0
                • cobitoC
                  cobito Administrador @vallekano
                  Última edición por

                  He estado buscando en el google y no he encontrado informacion concluyente, es decir, he visto ejemplos mal hechos porque con dos compliladores (visual c++ y devpp) me dicen que randomize no esta declarada a pesar de haber incluido las librerias oportunas (segun dicho ejemplo). Alguien sabe en que libreria se encuentra esta funcion?

                  Toda la actualidad en la portada de Hardlimit
                  Mis cacharros

                  hlbm signature

                  HamannH 1 Respuesta Última respuesta Responder Citar 0
                  • HamannH
                    Hamann @cobito
                    Última edición por

                    Prueba aver asi:

                    randomize()
                    rand()%101
                    #esto te genera valores aleatorios entre 0 y 100

                    randomize()
                    1+rand()%101
                    #y esto de 1 a 100

                    prueba aver si te funciona, la sentencia creo q era asi

                    AGURA!!

                    HamannH 1 Respuesta Última respuesta Responder Citar 0
                    • HamannH
                      Hamann @Hamann
                      Última edición por

                      Cobito, al final funcionaba como te comente?? o como lo as echo??

                      AGURA!!

                      cobitoC 1 Respuesta Última respuesta Responder Citar 0
                      • cobitoC
                        cobito Administrador @Hamann
                        Última edición por

                        He probado:

                        randomize()
                        rand()%101
                        #esto te genera valores aleatorios entre 0 y 100

                        y funciona perfectamente.

                        Gracias por la ayuda.

                        Toda la actualidad en la portada de Hardlimit
                        Mis cacharros

                        hlbm signature

                        cobitoC 1 Respuesta Última respuesta Responder Citar 0
                        • cobitoC
                          cobito Administrador @cobito
                          Última edición por

                          Que diferencia hay entre random() y rand() ademas de la sintaxis? Cual es mejor?

                          Toda la actualidad en la portada de Hardlimit
                          Mis cacharros

                          hlbm signature

                          HamannH 1 Respuesta Última respuesta Responder Citar 0
                          • HamannH
                            Hamann @cobito
                            Última edición por

                            el rand es lo q hace los numeros aleatorios, pero sin el randomize(q seria aleatorizar el rand), pos esos numeros se acabarian repitiendose, creo q se repiten cuando ejecutas el proyecto por segunda vez, la 1º puede q parezca q no se repiten pero apartir de hay los numeros seran los mismo. Por eso utilizamos el randomize para evitar eso. 😄 De nada hombre!! Me alegro de q te sirviera de ayuda 😉

                            AGURA!!!

                            vallekanoV 1 Respuesta Última respuesta Responder Citar 0
                            • vallekanoV
                              vallekano @Hamann
                              Última edición por

                              Sin el randomize creo que todas las ejecuciones del programa tendrán los mismos numeros aleatorios.

                              De manera que son aleatorios en cada ejecución, pero viendo ejecuciones distintas son iguales.

                              Con el randomize evitas eso.

                              cobitoC 1 Respuesta Última respuesta Responder Citar 0
                              • cobitoC
                                cobito Administrador @vallekano
                                Última edición por

                                Ya, pero no me referia a eso, sino a la diferencia entre random() (no randomize) y rand(). Por ejemplo: para generar numeros aleatorios entre 0 y 9 se puede usar rand()%10 o bien random(10). Mi pregunta es ¿en que se diferencian ambas intrucciones? y ¿cual es mejor?

                                Un saludo.

                                Toda la actualidad en la portada de Hardlimit
                                Mis cacharros

                                hlbm signature

                                HamannH 1 Respuesta Última respuesta Responder Citar 0
                                • HamannH
                                  Hamann @cobito
                                  Última edición por

                                  Pues eso no lo se, yo siempre habia usado el rand() asiq nose contestarte 😞

                                  AGURA!!

                                  1 Respuesta Última respuesta Responder Citar 0
                                  • 1
                                  • 2
                                  • 2 / 2
                                  • First post
                                    Last post

                                  Foreros conectados [Conectados hoy]

                                  2 usuarios activos (0 miembros e 2 invitados).
                                  febesin, pAtO,

                                  Estadísticas de Hardlimit

                                  Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                  Somos un total de 34.8k miembros registrados.
                                  seaofink ha sido nuestro último fichaje.