Beispiel #1
0
        /// <summary>
        /// Permite generar los pasajeros que llegan a cada una de las estaciones haciendo uso de distribución de Poisson.
        /// Postcondición: se crea lista de eventos futuros de pasajeros.
        /// </summary>
        /// <param name="cantidad"></param>
        /// <param name="duracion"></param>
        /// <param name="estaciones"></param>
        /// <param name="idEstIn"></param>
        /// <returns name="respuesta"></returns>
        public static bool GenerarPasajeros(int cantidad, int duracion, Estacion[] estaciones, int idEstIn)
        {
            //Console.WriteLine("entro");
            bool            respuesta = true;
            List <Pasajero> pasajeros = new List <Pasajero>();
            Random          a         = new Random();
            Random          b         = new Random();
            int             baseSim   = 0;

            for (int i = 0; i < cantidad; i++)
            {
                int tiemp = (int)Proximo(0.3, b);
                baseSim = baseSim + tiemp;
                if (baseSim > 1080)
                {
                    baseSim = 0;
                }
                Pasajero pas = new Pasajero(i, estaciones[idEstIn].GetId(), estaciones[(int)(a.Next(estaciones.Length))].GetId(), baseSim);

                pasajeros.Add(pas);
            }
            pasajeros.Sort();
            List <string> pasajeros1 = new List <string>();

            for (int i = 0; i < pasajeros.Count; i++)
            {
                pasajeros1.Add(pasajeros[i].ToString());
            }

            System.IO.File.WriteAllLines(@"..\\..\\Almacenamiento\Pasajeros\estacion" + idEstIn + ".txt", pasajeros1);


            return(respuesta);
        }
Beispiel #2
0
        public void agregarPasajero(Pasajero p)
        {
            bool agrego = false;

            for (int i = 0; i < Pasajeros.Length && !agrego; i++)
            {
                if (Pasajeros[i] == null)
                {
                    Pasajeros[i] = p;
                    agrego       = true;
                }
            }
        }
Beispiel #3
0
        public void LeerPasajeros(int tiempo)
        {
            System.IO.StreamReader lector = new System.IO.StreamReader(@"..\\..\\Almacenamiento\Pasajeros\estacion" + Id + ".txt");
            String linea = lector.ReadLine();

            string[] datosUno = linea.Split(' ');
            String   comp     = datosUno[0];
            int      comp1    = Int32.Parse(comp);

            while (comp1 <= tiempo)
            {
                if (comp1 == tiempo)
                {
                    Pasajero pas = new Pasajero(Int32.Parse(datosUno[1]), Int32.Parse(datosUno[2]), Int32.Parse(datosUno[3]), Int32.Parse(datosUno[0]));
                    Pasajeros.Add(pas);
                }
                linea    = lector.ReadLine();
                datosUno = linea.Split(' ');
                comp     = datosUno[0];
                comp1    = Int32.Parse(comp);
                CantidadPasajeros++;
            }
        }
Beispiel #4
0
        /// <summary>
        /// Permite generar los pasajeros que llegan a cada una de las estaciones haciendo uso de distribución de Poisson.
        /// Postcondición: se crea lista de eventos futuros de pasajeros.
        /// </summary>
        /// <param name="cantidad"></param>
        /// <param name="duracion"></param>
        /// <param name="estaciones"></param>
        /// <param name="idEstIn"></param>
        /// <returns name="respuesta"></returns>
        public static bool GenerarPasajeros(int cantidad, int duracion, Estacion[] estaciones, int idEstIn)
        {
            //Console.WriteLine("entro");
            bool respuesta = true;
            List<Pasajero> pasajeros = new List<Pasajero>();
            Random a = new Random();
            Random b = new Random();
            int baseSim = 0;
            for (int i = 0; i < cantidad; i++)
            {
                int tiemp = (int)Proximo(0.3, b);
                baseSim = baseSim + tiemp;
                if (baseSim > 1080)
                {
                    baseSim = 0;
                }
                Pasajero pas = new Pasajero(i, estaciones[idEstIn].GetId(), estaciones[(int)(a.Next(estaciones.Length))].GetId(), baseSim);

                pasajeros.Add(pas);
            }
            pasajeros.Sort();
            List<string> pasajeros1 = new List<string>();
            for (int i = 0; i < pasajeros.Count; i++)
            {
                pasajeros1.Add(pasajeros[i].ToString());
            }

            System.IO.File.WriteAllLines(@"..\\..\\Almacenamiento\Pasajeros\estacion" + idEstIn + ".txt", pasajeros1);


            return respuesta;
        }
Beispiel #5
0
 public void agregarPasajero(Pasajero p)
 {
     bool agrego = false;
     for (int i = 0; i < Pasajeros.Length && !agrego; i++)
     {
         if (Pasajeros[i] == null)
         {
             Pasajeros[i] = p;
             agrego = true;
         }
     }
 }
Beispiel #6
0
        public int CompareTo(object obj)
        {
            Pasajero a = (Pasajero)obj;

            return(TiempoIngreso.CompareTo(a.TiempoIngreso));
        }
Beispiel #7
0
 public void agregarPasajeros(Pasajero p)
 {
     Pasajeros.Add(p);
 }
Beispiel #8
0
 public void agregarPasajeros(Pasajero p) {
     Pasajeros.Add(p);
 }
Beispiel #9
0
        public void LeerPasajeros(int tiempo)
        {
            System.IO.StreamReader lector = new System.IO.StreamReader(@"..\\..\\Almacenamiento\Pasajeros\estacion" + Id + ".txt");
            String linea = lector.ReadLine();
            string[] datosUno = linea.Split(' ');
            String comp = datosUno[0];
            int comp1 = Int32.Parse(comp);
            while (comp1<=tiempo)
            {
                if (comp1 == tiempo)
                {
                    Pasajero pas = new Pasajero(Int32.Parse(datosUno[1]), Int32.Parse(datosUno[2]), Int32.Parse(datosUno[3]), Int32.Parse(datosUno[0]));
                    Pasajeros.Add(pas);
                }
                linea = lector.ReadLine();
                datosUno = linea.Split(' ');
                comp = datosUno[0];
                comp1 = Int32.Parse(comp);
                CantidadPasajeros++;
            }

        }