Ejemplo n.º 1
0
        static void AKsztaltna(Func <int[], bool> MyMethodName, int i)
        {
            InformacjaKropka();

            int[] KopiaTablicy = new int[WielkoscTablic];
            TablicaAKształtna.CopyTo(KopiaTablicy, 0);

            int PomocLiczba = (WielkoscTablic - (WielkoscTablic / LiczbaPunktKontrony * i));

            Array.Resize(ref KopiaTablicy, (PomocLiczba + (WielkoscTablic / LiczbaPunktKontrony * i)));
            Array.Reverse(KopiaTablicy);
            Array.Resize(ref KopiaTablicy, (WielkoscTablic / LiczbaPunktKontrony * i));
            Array.Reverse(KopiaTablicy);
            Czas(MyMethodName, KopiaTablicy);

            /*Zadanie Drugie*/
            CzasyDoTabeliVksztaltnej.Add(CzasZapytaniaWSekundach.ToString());
        }
Ejemplo n.º 2
0
        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();
        }