]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Nueva funcion random.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 19 Oct 2005 17:09:45 +0000 (17:09 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Wed, 19 Oct 2005 17:09:45 +0000 (17:09 +0000)
src/random.cpp
src/random.h [new file with mode: 0644]

index 90bfaa8791d1ceef3564035fec6500b67b385949..b4f126002a36584111cc06d2ab0510b1d7cc3647 100644 (file)
@@ -61,3 +61,8 @@ void Random::Strings (std::list<std::string> &lst, uint n)
        }
 }
 
+double Random::Double (double min, double max)
+{
+       return min + max * (float)rand () / (RAND_MAX + 1.0f);
+}
+
diff --git a/src/random.h b/src/random.h
new file mode 100644 (file)
index 0000000..d2c9993
--- /dev/null
@@ -0,0 +1,47 @@
+
+#ifndef _RANDOM_H_
+#define _RANDOM_H_
+
+#include <list>
+#include <string>
+#include <map>
+#include <fstream>
+
+/** Generación de valores aleatoreos. */
+class Random {
+       public:
+               /** Inicializa tablas de números y palabras.
+                *
+                *  Debe ser llamado antes de utilizar cualquier
+                *  otro método.
+                */
+               static void Init ();
+
+               /** Llena un lista con strings generados aleatoreamente.
+                *
+                *  \param lst Lista donde insertar los valores generados.
+                *  \param n Cantidad de elementos a insertar.
+                */
+               static void Strings (std::list<std::string> &lst, uint n);
+
+               /** Llena una lista con números enteros generados aleatoreamente.
+                *
+                * El valor de los números irá desde -N a N.
+                * \param lst Lista donde agregar los valores generados.
+                * \param n Cantidad de elementos a agregar.
+                */
+               static void Ints (std::list<int> &lst, uint n);
+
+
+               static double Double (double min, double max);
+       
+       private:
+               static void GetFile (const char *f, std::map<int,std::string> &out, int &cant);
+               static std::map<int, std::string> productos;
+               static std::map<int, std::string> marcas;
+               static int productos_cant;
+               static int marcas_cant;
+};
+
+#endif
+