/// <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); }
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; } } }
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++; } }
/// <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; }
public int CompareTo(object obj) { Pasajero a = (Pasajero)obj; return(TiempoIngreso.CompareTo(a.TiempoIngreso)); }
public void agregarPasajeros(Pasajero p) { Pasajeros.Add(p); }
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++; } }