public void kosztCalejSciezki() { algorytmFloyda(); suma = new int[liczbaWezlow, liczbaWezlow]; Wezel Pierwszy, Ostatni; Sciezka S1; int pomocnicza; for (int i = 0; i < liczbaWezlow; i++) { for (int j = 0; j < liczbaWezlow; j++) { if (i != j) { pomocnicza = 0; Pierwszy = wezly[i]; Ostatni = wezly[j]; S1 = new Sciezka(Pierwszy, Ostatni); S1.zwroc_ListaKrawedziSciezki = S1.wyznaczSciezke(Pierwszy, Ostatni, tablicaKierowaniaLaczami, tablicaKierowaniaWezlami, ref wezly, 1, Koszty); S1.wyznaczWezly(Pierwszy); foreach (Lacze krawedz in S1.zwroc_ListaKrawedziSciezki) { pomocnicza = pomocnicza + (int)krawedz.Waga; } suma[i, j] = pomocnicza; } else { suma[i, j] = 0; } } } }
public void testFloyd(ref Lacze[,] tablicaKierowaniaLaczami, ref Wezel[,] tablicaKierowaniaWezlami) { Console.WriteLine(); Console.WriteLine(); Sciezka S1 = new Sciezka(); Console.WriteLine($"Podaj nr wierzcholka(od 1 do {wezly.Count}), z ktorego wyruszamy"); int nr1 = 0, nr2 = 0; try { nr1 = Int32.Parse(Console.ReadLine()); } catch (Exception) { Console.WriteLine($"Podaj liczby od 1 do {wezly.Count} "); } Console.WriteLine($"Podaj nr wierzcholka (od 1 do {wezly.Count}), do ktorego chcesz sie udac:"); try { nr2 = Int32.Parse(Console.ReadLine()); } catch (Exception) { Console.WriteLine($"Podaj liczby od 1 do {wezly.Count} "); } S1.Wezel1 = wezly[nr1 - 1]; //Ustawiamy poczatek i koniec Sciezki S1.Wezel2 = wezly[nr2 - 1]; S1.KrawedzieSciezki = S1.wyznaczSciezke(wezly[nr1 - 1], wezly[nr2 - 1], tablicaKierowaniaLaczami, tablicaKierowaniaWezlami, ref wezly, 1, Koszty); S1.wyznaczWezly(wezly[nr1 - 1]); S1.pokazSciezke(); }