public void muestraResultado(int[] pesos_totales, List <CNodoVertice> caminos, CNodoVertice origen) { string camaux = ""; DataTable dt = new DataTable(); object[] values = new object[3]; int ind = 0; List <int> camino = new List <int>(); bool sincamino = false; dt.Columns.Add("Destino"); dt.Columns.Add("Camino"); dt.Columns.Add("Peso Total"); for (int i = 0; i < pesos_totales.Length; i++) { ind = i; values[0] = V[i].getVertice().getId().ToString(); if (pesos_totales[i] != INFINITO && pesos_totales[i] >= 0) { values[2] = " " + pesos_totales[i].ToString(); } else { sincamino = true; values[2] = " - "; } while (origen.getVertice().getId() != caminos[ind].getVertice().getId()) { camino.Add(caminos[ind].getVertice().getId()); ind = V.IndexOf(caminos[ind]); } camaux += origen.getVertice().getId().ToString() + ", "; for (int y = camino.Count - 1; y >= 0; y--) { camaux += camino[y].ToString() + ", "; } camaux += V[i].getVertice().getId().ToString(); if (sincamino) { values[1] = " No existe"; sincamino = false; } else { values[1] = camaux; } dt.Rows.Add(values); camaux = ""; camino.Clear(); } DDijkstra dij = new DDijkstra(dt, origen.getVertice().getId()); dij.ShowDialog(); }
public void muestraResultado(int[] pesos_totales, List<CNodoVertice> caminos,CNodoVertice origen) { string camaux = ""; DataTable dt = new DataTable(); object[] values = new object[3]; int ind = 0; List<int> camino = new List<int>(); bool sincamino = false; dt.Columns.Add("Destino"); dt.Columns.Add("Camino"); dt.Columns.Add("Peso Total"); for (int i = 0; i < pesos_totales.Length; i++) { ind = i; values[0] = V[i].getVertice().getId().ToString(); if (pesos_totales[i] != INFINITO && pesos_totales[i] >= 0) values[2] = " " + pesos_totales[i].ToString(); else { sincamino = true; values[2] = " - "; } while (origen.getVertice().getId() != caminos[ind].getVertice().getId()) { camino.Add(caminos[ind].getVertice().getId()); ind = V.IndexOf(caminos[ind]); } camaux += origen.getVertice().getId().ToString()+", "; for(int y = camino.Count-1;y>=0;y--) camaux += camino[y].ToString() + ", "; camaux += V[i].getVertice().getId().ToString(); if (sincamino) { values[1] = " No existe"; sincamino = false; } else values[1] = camaux; dt.Rows.Add(values); camaux = ""; camino.Clear(); } DDijkstra dij = new DDijkstra(dt, origen.getVertice().getId()); dij.ShowDialog(); }