//wykonanie algorytmu, wyświetla tylko wynik private static int Wykonaj(uint[,] macierz_prawdziwa) { int counter = 0; uint[,] macierz = new uint[macierz_prawdziwa.GetLength(0), macierz_prawdziwa.GetLength(0)]; for (int i = 0; i < macierz_prawdziwa.GetLength(0); i++) { for (int j = 0; j < macierz_prawdziwa.GetLength(0); j++) { macierz[i, j] = macierz_prawdziwa[i, j]; } } int liczba = 0; int[,] nowe = new int[macierz.GetLength(0), macierz.GetLength(0)]; uint[,] zera = new uint[macierz.GetLength(0), macierz.GetLength(1)]; Wegier.Krok1(macierz); int test = 0; int[,] pierwsze = RysujLinie(macierz, ref test, out zera); if (test < macierz.GetLength(0)) { Wegier.Krok2(macierz); test = 0; pierwsze = RysujLinie(macierz, ref test, out zera); if (test < macierz.GetLength(0)) { while (liczba < macierz.GetLength(0)) { nowe = Wegier.RysujLinie(macierz, ref liczba, out zera); Wegier.Krok4(macierz, nowe); //ładny spinner switch (counter % 4) { case 0: Console.Write("/"); break; case 1: Console.Write("-"); break; case 2: Console.Write("\\"); break; case 3: Console.Write("|"); counter = -1; break; } Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop); counter++; } } } //Console.WriteLine(); wWyswietlMacierz(macierz_prawdziwa, ZeraNiezalezne(macierz)); Console.WriteLine(); return(Policz(macierz_prawdziwa, zera)); }
static void Main(string[] args) { Wegier.Dzialanie(); }
//wykonanie algorytmu, wyświetla wszystko krok po kroku private static int WykonajWyswietl(uint[,] macierz_wejsciowa) { uint[,] macierz = new uint[macierz_wejsciowa.GetLength(0), macierz_wejsciowa.GetLength(0)]; for (int i = 0; i < macierz_wejsciowa.GetLength(0); i++) { for (int j = 0; j < macierz_wejsciowa.GetLength(0); j++) { macierz[i, j] = macierz_wejsciowa[i, j]; } } int liczba = 0; int[,] nowe = new int[macierz.GetLength(0), macierz.GetLength(0)]; uint[,] zera = new uint[macierz.GetLength(0), macierz.GetLength(1)]; int k = 1; Console.Write("Macierz wejściowa\n"); Wegier.uWyswietlMacierz(macierz); Console.WriteLine(); Wegier.Krok1(macierz); Console.WriteLine("Krok {0}: ", k++); uWyswietlMacierz(macierz); Console.WriteLine(); zWyswietlMacierz(Wegier.ZeraNiezalezne(macierz)); int test = 0; int[,] pierwsze = RysujLinie(macierz, ref test, out zera); Console.WriteLine("\nNaciśnij dowolny klawisz, aby przejść do kolejnego kroku.\n\n"); Console.ReadKey(true); if (test < macierz.GetLength(0)) { Wegier.Krok2(macierz); Console.WriteLine("Krok {0}: ", k++); uWyswietlMacierz(macierz); Console.WriteLine(); zWyswietlMacierz(Wegier.ZeraNiezalezne(macierz)); Console.WriteLine(); Console.WriteLine("Naciśnij dowolny klawisz, aby przejść do kolejnego kroku.\n\n"); Console.ReadKey(true); test = 0; pierwsze = RysujLinie(macierz, ref test, out zera); if (test < macierz.GetLength(0)) { while (liczba < macierz.GetLength(0)) { nowe = Wegier.RysujLinie(macierz, ref liczba, out zera); if (liczba < macierz.GetLength(0)) { Wegier.Krok4(macierz, nowe); Console.WriteLine("Krok {0}: ", k++); lWyswietlMacierz(nowe); Console.WriteLine(); uWyswietlMacierz(macierz); Console.WriteLine(); zWyswietlMacierz(Wegier.ZeraNiezalezne(macierz)); Console.WriteLine(); Console.WriteLine("Naciśnij dowolny klawisz, aby przejść do kolejnego kroku.\n\n"); Console.ReadKey(true); } } } } Console.WriteLine("Krok {0}: ", k); wWyswietlMacierz(macierz_wejsciowa, ZeraNiezalezne(macierz)); Console.WriteLine("\n"); return(Policz(macierz_wejsciowa, zera)); }