public GrafoForm(Grafo g, ListaVuelos lv) { this.g = g; this.lv = lv; InitializeComponent(); }
Vuelo seleciona(ListaVuelos lv) { Vuelo v = lv[0]; lv.Remove(v); return(v); }
private void listBoxRuta_DoubleClick(object sender, EventArgs e) { ListaVuelos vd = new ListaVuelos(); ElementoDijkstra ed2; if (listBoxRuta.SelectedItem != null) { foreach (ElementoDijkstra ed in d.getVD()) { if (ed == d.getVD()[listBoxRuta.SelectedIndex]) { ed2 = ed; while (ed2.GetProv() != null) { foreach (Vuelo v in lv) { if (v.getOrigen() == ed2.GetProv().getCiudad() && v.getDestino() == ed2.GetDes().getCiudad()) { vd.Add(v); break; } } foreach (ElementoDijkstra aux in d.getVD()) { if (aux.GetDes().getCiudad() == ed2.GetProv().getCiudad()) { ed2 = aux; break; } } } break; } } String nombre = "@"; String apellido = ""; int edad = 0; foreach (Vuelo v in vd) { if (nombre == "@") { VentanaCompraForm compra = new VentanaCompraForm(v); compra.ShowDialog(); nombre = compra.getNom(); apellido = compra.getApe(); edad = compra.getEdad(); } else { VentanaCompraForm compra = new VentanaCompraForm(v, nombre, apellido, edad); compra.ShowDialog(); } } } }
public ventanaVuelosForm(ListaVuelos lv, Grafo g) { this.g = g; this.lv = lv; InitializeComponent(); actializarListBoxt(this.lv); }
private void actializarListBoxt(ListaVuelos lv) { lisBoxVuelos.Items.Clear(); for (int i = 0; i < lv.Count; i++) { lisBoxVuelos.Items.Add(lv[i]); } lisBoxVuelos.Refresh(); buttonRegistrar.Enabled = false; buttonEliminar.Enabled = false; }
void InicializaCandidatos(ListaVuelos lv, char opc, Nodo ini) { foreach (Vuelo v in lv) { //candidatos.Add(v); vuelos.Add(v); } Ciudades.Add(ini); //arm.Add(Selecciona(vuelos,opc,Ciudades)); }
private void cargaPasajeros(ListaVuelos lv) { lpO.Clear(); foreach (Vuelo v in lv) { foreach (Pasajero p in v.getLp()) { lpO.Add(p); actializarListBoxt(lpO); } } lpF = lpO; }
public Prim(Grafo g, ListaVuelos lv, char opc, Nodo ini) { InicializaCandidatos(lv, opc, ini); //while (Ciudades.Count < g.getListaNodos().Count-1) do { arm.Add(Selecciona(opc, Ciudades)); if (arm[arm.Count - 1] == null) { arm.Remove(arm[arm.Count - 1]); Ciudades.Add(new Nodo(vuelos[0].getOrigen())); } } while (vuelos.Count > 0); gp = new Grafo(arm); }
public Kruscal(Grafo g, ListaVuelos lv, char opc) { //Console.Write("\nKruscal "); int u1, u2; String v1 = "", v2 = ""; Vuelo aux; foreach (Vuelo v in lv) { c.Add(v); } if (opc == 'c') { c.quickSort(0, c.Count - 1, 3); //Console.Write("costo ->"); } else { c.quickSort(0, c.Count - 1, 4); //Console.Write("tiempo ->"); } inicializaCC(g); while (c.Count > 0) { aux = seleciona(c); v1 = v1 + aux.getOrigen(); v2 = v2 + aux.getDestino(); u1 = busca(aux.getOrigen()); u2 = busca(aux.getDestino()); if (u1 != u2) { combina(u1, u2); arm.Add(aux); ct = ct + aux.getCosto(); tt = tt + aux.getTiempo(); //Console.Write(aux.getOrigen().ToString()+aux.getDestino().ToString()+"-> "); } } gk = new Grafo(arm); }
public void eliminarArista(Vuelo v, ListaVuelos lv) { bool eliminar = true, ex = false, stop = true; do { ex = false; foreach (Nodo n in listaNodos) { foreach (Ady a in n.getListaAdy()) { if (n.getCiudad() == v.getOrigen() && a.getNodo().getCiudad() == v.getDestino()) { ex = true; n.getListaAdy().Remove(a); break; } } } }while(ex); do { stop = true; foreach (Nodo n in listaNodos) { eliminar = true; foreach (Vuelo vAux in lv) { if (n.getCiudad() == vAux.getOrigen() || n.getCiudad() == vAux.getDestino()) { eliminar = false; } } if (eliminar == true) { stop = false; listaNodos.Remove(n); break; } } } while (!stop); }
public Grafo(ListaVuelos lv) { listaNodos = new List <Nodo>(); bool existeN = false; foreach (Vuelo v in lv) { existeN = false; foreach (Nodo nAux in listaNodos) { if (nAux.getCiudad() == v.getOrigen()) { existeN = true; break; } } if (!existeN) { Nodo n = new Nodo(v.getOrigen()); listaNodos.Add(n); } } existeN = false; foreach (Vuelo v in lv) { existeN = false; foreach (Nodo nAux in listaNodos) { if (nAux.getCiudad() == v.getDestino()) { existeN = true; break; } } if (!existeN) { Nodo n = new Nodo(v.getDestino()); listaNodos.Add(n); } } //crea lista ady de cada nodo foreach (Nodo n in listaNodos) { //Console.WriteLine(n.getCiudad()); foreach (Vuelo v in lv) { if (v.getOrigen() == n.getCiudad()) { foreach (Nodo nRef in listaNodos) { if (nRef.getCiudad() == v.getDestino()) { Ady nuevoadyacente = new Ady(nRef, v.getCosto(), v.getTiempo()); n.insertaAdy(nuevoadyacente); } } //ref lista nodos } //if } //foreach vuelos } //foreach nodos }
public ventanaPrincipalForm(ListaVuelos lv, Grafo g) { this.g = g; this.lv = lv; InitializeComponent(); }
static void Main() { ListaVuelos lv = new ListaVuelos(); //ListaVuelos listaVuelos; if (File.Exists("Vuelos.bin")) { using (Stream stream = File.Open("Vuelos.bin", FileMode.Open)) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); lv = (ListaVuelos)bformatter.Deserialize(stream); } } else { VuelosPrecargados(); using (Stream sw = File.Open("Vuelos.bin", FileMode.Create)) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); bformatter.Serialize(sw, lv); sw.Close(); } } Grafo g = new Grafo(lv); g.impirme(); //Grafo; if (File.Exists("Grafo.bin")) { using (Stream stream = File.Open("Grafo.bin", FileMode.Open)) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); g = (Grafo)bformatter.Deserialize(stream); } } else { using (Stream sw = File.Open("Grafo.bin", FileMode.Create)) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); bformatter.Serialize(sw, g); sw.Close(); } } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new ventanaPrincipalForm()); ventanaPrincipalForm inicio = new ventanaPrincipalForm(lv, g); inicio.ShowDialog(); //AQUI GUARDAR DATOS File.Delete("Vuelos.bin"); using (Stream sw = File.Create("Vuelos.bin")) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); bformatter.Serialize(sw, lv); sw.Close(); } File.Delete("Grafo.bin"); using (Stream sw = File.Create("Grafo.bin")) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); bformatter.Serialize(sw, g); sw.Close(); } void VuelosPrecargados() { Vuelo v1 = new Vuelo("A", "B", 600, 50); Vuelo v2 = new Vuelo("A", "F", 1500, 90); Vuelo v3 = new Vuelo("A", "G", 1050, 80); Vuelo v4 = new Vuelo("B", "A", 600, 50); Vuelo v5 = new Vuelo("B", "C", 750, 40); Vuelo v6 = new Vuelo("B", "D", 650, 60); Vuelo v7 = new Vuelo("B", "E", 1850, 70); Vuelo v8 = new Vuelo("C", "B", 800, 45); Vuelo v9 = new Vuelo("C", "E", 850, 80); Vuelo v10 = new Vuelo("E", "C", 750, 45); Vuelo v11 = new Vuelo("E", "G", 1150, 80); Vuelo v12 = new Vuelo("E", "L", 1650, 60); Vuelo v13 = new Vuelo("E", "D", 700, 35); Vuelo v14 = new Vuelo("D", "E", 900, 45); Vuelo v15 = new Vuelo("D", "B", 700, 55); Vuelo v16 = new Vuelo("F", "B", 800, 65); Vuelo v17 = new Vuelo("F", "L", 2850, 140); Vuelo v18 = new Vuelo("G", "A", 1250, 95); Vuelo v19 = new Vuelo("G", "E", 1175, 75); Vuelo v20 = new Vuelo("G", "L", 2675, 135); Vuelo v21 = new Vuelo("G", "J", 1400, 60); Vuelo v22 = new Vuelo("G", "H", 450, 25); Vuelo v23 = new Vuelo("H", "G", 350, 30); Vuelo v24 = new Vuelo("H", "I", 400, 35); Vuelo v25 = new Vuelo("I", "H", 400, 30); Vuelo v26 = new Vuelo("I", "K", 400, 35); Vuelo v27 = new Vuelo("K", "I", 400, 35); Vuelo v28 = new Vuelo("K", "J", 300, 25); Vuelo v29 = new Vuelo("J", "L", 750, 40); Vuelo v30 = new Vuelo("J", "M", 1450, 70); Vuelo v31 = new Vuelo("L", "M", 650, 40); Vuelo v32 = new Vuelo("L", "K", 700, 70); Vuelo v33 = new Vuelo("L", "E", 1500, 60); Vuelo v34 = new Vuelo("M", "L", 700, 40); Pasajero p1 = new Pasajero("EMMANUEL", "GUTIERREZ", 20, 10, "SK1AB"); v1.getLp().Add(p1); Pasajero p2 = new Pasajero("VALERIA", "RAMIREZ", 20, 12, "SK1ML"); v34.getLp().Add(p2); Pasajero p3 = new Pasajero("FRANCISCO", "GARCIA", 34, 8, "SK1KI"); v27.getLp().Add(p3); Pasajero p4 = new Pasajero("ALBERTO", "FONCECA", 18, 1, "SK1GJ"); v21.getLp().Add(p4); lv.Add(v1); lv.Add(v2); lv.Add(v3); lv.Add(v4); lv.Add(v5); lv.Add(v6); lv.Add(v7); lv.Add(v8); lv.Add(v9); lv.Add(v10); lv.Add(v11); lv.Add(v12); lv.Add(v13); lv.Add(v14); lv.Add(v15); lv.Add(v16); lv.Add(v17); lv.Add(v18); lv.Add(v19); lv.Add(v20); lv.Add(v21); lv.Add(v22); lv.Add(v23); lv.Add(v24); lv.Add(v25); lv.Add(v26); lv.Add(v27); lv.Add(v28); lv.Add(v29); lv.Add(v30); lv.Add(v31); lv.Add(v32); lv.Add(v33); lv.Add(v34); } }
public ListaVuelos busquedaMultiple(int opc, string dato) { ListaVuelos lvF = new ListaVuelos(); dato = dato.ToUpper(); switch (opc) { case 1: if (dato.Length <= 5) { for (int i = 0; i < this.Count; i++) { int j; for (j = 0; j < dato.Length; j++) { if (this[i].getRuta()[j] != dato[j]) { break; } } if (j == dato.Length) { lvF.Add(this[i]); } } } break; case 2: if (dato.Length <= 1) { for (int i = 0; i < this.Count; i++) { int j; for (j = 0; j < dato.Length; j++) { if (this[i].getRuta()[3] != dato[j]) { break; } } if (j == dato.Length) { lvF.Add(this[i]); } } } break; case 3: if (dato.Length <= 1) { for (int i = 0; i < this.Count; i++) { int j; for (j = 0; j < dato.Length; j++) { if (this[i].getRuta()[4] != dato[j]) { break; } } if (j == dato.Length) { lvF.Add(this[i]); } } } break; } return(lvF); }// busqueda
private void listBoxRuta_SelectedIndexChanged(object sender, EventArgs e) { ListaVuelos vd = new ListaVuelos(); ElementoDijkstra ed2; foreach (ElementoDijkstra ed in d.getVD()) { if (ed == d.getVD()[listBoxRuta.SelectedIndex]) { ed2 = ed; if (ed.getPeso() != 10000) { if (radioButtonC.Checked == true) { textBoxPond2.Text = "$ " + ed.getPeso().ToString(); } else { textBoxPond2.Text = ed.getPeso().ToString() + " min."; } } else { textBoxPond2.Text = "No disponible"; } while (ed2.GetProv() != null) { foreach (Vuelo v in lv) { if (v.getOrigen() == ed2.GetProv().getCiudad() && v.getDestino() == ed2.GetDes().getCiudad()) { vd.Add(v); break; } } foreach (ElementoDijkstra aux in d.getVD()) { if (aux.GetDes().getCiudad() == ed2.GetProv().getCiudad()) { ed2 = aux; break; } } } break; } } Grafo gd = new Grafo(vd); foreach (Nodo n in g.getListaNodos()) { foreach (Nodo n2 in gd.getListaNodos()) { if (n.getCiudad() == n2.getCiudad()) { n2.setX(n.getX()); n2.setY(n.getY()); } } } panel1.Refresh(); Pen p1 = new Pen(Color.Red, 2); imprimirCiudades(gd, p1); }
public ventanaPasajerosForm(ListaVuelos lv) { this.lv = lv; InitializeComponent(); cargaPasajeros(lv); }
Vuelo Selecciona(char opc, List <Nodo> nodos) { ListaVuelos candidatos = new ListaVuelos(); Vuelo aux; bool stop = true; candidatos.Clear(); foreach (Nodo n in nodos) { foreach (Vuelo v in vuelos) { if (v.getOrigen() == n.getCiudad() || v.getDestino() == n.getCiudad()) { candidatos.Add(v); } } } if (candidatos.Count > 0) { if (opc == 'c') { candidatos.quickSort(0, candidatos.Count - 1, 3); } else { candidatos.quickSort(0, candidatos.Count - 1, 4); } aux = candidatos[0]; this.vuelos.Remove(candidatos[0]); if (!Ciudades.Contains(new Nodo(aux.getOrigen()))) { Ciudades.Add(new Nodo(aux.getOrigen())); } if (!Ciudades.Contains(new Nodo(aux.getDestino()))) { Ciudades.Add(new Nodo(aux.getDestino())); } do { stop = true; foreach (Nodo n2 in Ciudades) { foreach (Nodo n in Ciudades) { foreach (Vuelo v in this.vuelos) { if (v.getOrigen() == n2.getCiudad() && v.getDestino() == n.getCiudad()) { vuelos.Remove(v); stop = false; break; } } } } } while (!stop); //Console.Write(aux.getOrigen().ToString() + aux.getDestino().ToString() + "-> "); tt = tt + aux.getTiempo(); ct = ct + aux.getCosto(); return(aux); } return(null); }
public VentanaNuevoVuelo(ListaVuelos lv, Grafo g) { this.g = g; this.lv = lv; InitializeComponent(); }