static void Losowo(Func <int[], bool> MyMethodName, int i) { InformacjaKropka(); int[] KopiaTablicy = new int[WielkoscTablic]; TablicaLosowa.CopyTo(KopiaTablicy, 0); Array.Resize(ref KopiaTablicy, (WielkoscTablic / LiczbaPunktKontrony * i)); Czas(MyMethodName, KopiaTablicy); /*Zadanie Drugie*/ CzasyDoTabeliLosowej.Add(CzasZapytaniaWSekundach.ToString()); }
static void Main(string[] args) { Console.WriteLine("Będziemy robić zadanie\nNaciśnij objętnie który przycisk, aby rozpocząć zabawę xD"); Console.ReadKey(); Console.Clear(); Console.WriteLine("Aktualna ścieżka do odpowiedzi to:\n {0}", sciezka); CzySciezkaIstnieje(sciezka + "/test.txt"); Console.WriteLine("Czy jesteś gotowy? Wciśnij"); Console.ReadKey(); //Napisanie zmiany ścieżki !!! /* * * Dział Pierwszy * Dział Drugi */ WypelniamyTablice(); CzasyDoTabeli.Add("Losowo"); CzasyDoTabeli.Add("Rosnaco"); CzasyDoTabeli.Add("Malejaco"); CzasyDoTabeli.Add("Stala"); CzasyDoTabeli.Add("V-ksztaltna"); CzasyDoTabeli.Add("Wielkosc Tabeli"); Zapisz(sciezka + "/Zad1_InsertionSort.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad1_SelectionSort.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad1_HeapSort.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad1_CocktailSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); /*Część Zadania 2 Nadajemy Nagłówek w pierwszym wierszu*/ CzasyDoTabeli.Add("InsertionSort"); CzasyDoTabeli.Add("SelectionSort"); CzasyDoTabeli.Add("HeapSort"); CzasyDoTabeli.Add("CocktailSort"); CzasyDoTabeli.Add("Wielkosc Tabeli"); Zapisz(sciezka + "/Zad2_Losowo.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad2_Rosnaco.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad2_Malejaco.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad2_Stalo.csv", CzasyDoTabeli); Zapisz(sciezka + "/Zad2_Vksztaltnie.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); /*Część Zadania 2 END*/ Console.WriteLine(); Console.Write("Podejście x"); for (int j = 1; j <= 24; j++) { if (j % 6 == 0) { Console.Write("* "); } else { Console.Write(". "); } } Console.WriteLine(); for (int i = 1; i <= LiczbaPunktKontrony; i++) { Console.Write("Podejście {0}", i); int wielkoscTablicy = WielkoscTablic / LiczbaPunktKontrony * i; Losowo(InsertionSort, i); Rosnaco(InsertionSort, i); Malejaco(InsertionSort, i); Stala(InsertionSort, i); VKsztaltna(InsertionSort, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad1_InsertionSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Losowo(SelectionSort, i); Rosnaco(SelectionSort, i); Malejaco(SelectionSort, i); Stala(SelectionSort, i); VKsztaltna(SelectionSort, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad1_SelectionSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Losowo(HeapSort, i); Rosnaco(HeapSort, i); Malejaco(HeapSort, i); Stala(HeapSort, i); VKsztaltna(HeapSort, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad1_HeapSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Losowo(CocktailSort, i); Rosnaco(CocktailSort, i); Malejaco(CocktailSort, i); Stala(CocktailSort, i); VKsztaltna(CocktailSort, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad1_CocktailSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); /*Część Zadania 2*/ CzasyDoTabeliLosowej.Add(wielkoscTablicy.ToString()); CzasyDoTabeliRosnacej.Add(wielkoscTablicy.ToString()); CzasyDoTabeliMalejacej.Add(wielkoscTablicy.ToString()); CzasyDoTabeliStalej.Add(wielkoscTablicy.ToString()); CzasyDoTabeliVksztaltnej.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad2_Losowo.csv", CzasyDoTabeliLosowej); Zapisz(sciezka + "/Zad2_Rosnaco.csv", CzasyDoTabeliRosnacej); Zapisz(sciezka + "/Zad2_Malejaco.csv", CzasyDoTabeliMalejacej); Zapisz(sciezka + "/Zad2_Stalo.csv", CzasyDoTabeliStalej); Zapisz(sciezka + "/Zad2_Vksztaltnie.csv", CzasyDoTabeliVksztaltnej); CzasyDoTabeliLosowej.Clear(); CzasyDoTabeliRosnacej.Clear(); CzasyDoTabeliMalejacej.Clear(); CzasyDoTabeliStalej.Clear(); CzasyDoTabeliVksztaltnej.Clear(); /*Część Zadania 2 END*/ Console.WriteLine(); } Console.WriteLine("Koniec Zadania pierwszego i drugiego"); /* * * Zadanie Trzecie * */ //Podpunkt 1 Czyli sprawdzenie co lepsze: iteracyjnie czy Rekurencyjnie CzasyDoTabeli.Add("Rekurencyjnie"); CzasyDoTabeli.Add("Iteracyjnie"); CzasyDoTabeli.Add("Wielkosc Tabeli"); Zapisz(sciezka + "/Zad3_Rek_VS_Itera.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Console.WriteLine("\nZadanie 3 podpunkt 1\n\n"); mediana = "center";//Ustawiamy na standardową medianę czyli środkową for (int i = 1; i <= LiczbaPunktKontrony; i++) { int wielkoscTablicy = WielkoscTablic / LiczbaPunktKontrony * i; Console.Write("Podejście {0}", i); Losowo(qsortRekWywołanie, i); Losowo(qsortIte, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad3_Rek_VS_Itera.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Console.WriteLine(); } //Podpunkt 2 Czyli sprawdzenie jak się miewa odpowiednie dobranie mediany // Wybór na qsort iteracyjnie to tylko przypadek (żut monetą) CzasyDoTabeli.Add("Skrajnie prawa"); CzasyDoTabeli.Add("Srodkowe"); CzasyDoTabeli.Add("Losowe"); CzasyDoTabeli.Add("Wielkosc Tabeli"); Zapisz(sciezka + "/Zad3_InsertionSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Console.WriteLine("\nZadanie 3 podpunkt 2\n\n"); for (int i = 1; i <= LiczbaPunktKontrony; i++) { int wielkoscTablicy = WielkoscTablic / LiczbaPunktKontrony * i; Console.Write("Podejście {0}", i); mediana = "right"; AKsztaltna(qsortIte, i); mediana = "center"; AKsztaltna(qsortIte, i); mediana = "rand"; AKsztaltna(qsortIte, i); CzasyDoTabeli.Add(wielkoscTablicy.ToString()); Zapisz(sciezka + "/Zad3_InsertionSort.csv", CzasyDoTabeli); CzasyDoTabeli.Clear(); Console.WriteLine(); } Console.WriteLine("Koniec Zadania trzeciego"); Console.ReadKey(); Console.Clear(); Console.WriteLine("Koniec Projektu 3"); Console.ReadKey(); }