예제 #1
0
 public Menu()
 {
     Console.WriteLine("TASK 3.3 and 3.4\n Set breakpoint in code");
     Part1();
     Part2();
     Part3();
     Part4();
     Part5();
     Part6();
     Part7();
     Part8();
     Part9();
     Part10();
     Part11();
     myHardcoreArray = new HardcoreDynamicArray <string>();
     myHardcoreArray.AddRange(myArray);
     Part12();
     Part13();
     Part14();
     Part15();
     myCycledArray = new CycledDynamicArray <string>();
     myCycledArray.AddRange(myHardcoreArray);
     Part16();
     Console.WriteLine("finished");
 }
예제 #2
0
        public static void Main(string[] args)
        {
            // condition 1
            DynamicArray <string> dynamicArray = new DynamicArray <string>();

            Console.WriteLine($"при создании конструктора без параметров Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора без параметров Length = {dynamicArray.Length}");
            Console.WriteLine();

            // condition 2
            dynamicArray = new DynamicArray <string>(5);
            Console.WriteLine($"при создании конструктора с одним целочисленным параметром Capacity(5) = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора с одним целочисленным параметром Length = {dynamicArray.Length}");
            Console.WriteLine();

            // condition 3
            List <string> list = new List <string>();

            list.Add("A");
            list.Add("B");
            list.Add("C");
            list.Add("D");
            list.Add("E");
            list.Add("F");
            dynamicArray = new DynamicArray <string>(list);
            Console.WriteLine($"при создании конструктора с коллекцией размером {list.Count} Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при создании конструктора с коллекцией размером {list.Count} Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 4
            dynamicArray.Add("G");
            Console.WriteLine($"при добавления элемента в конец Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления элемента в конец Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 5
            list = new List <string>();
            list.Add("H");
            list.Add("I");
            list.Add("J");
            list.Add("K");
            list.Add("L");
            list.Add("M");
            dynamicArray.AddRange(list);
            Console.WriteLine($"при добавления коллекции размером {list.Count} в конец Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления коллекции размером {list.Count} в конец Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condiotion 6
            Console.WriteLine("попытка удаления G первый раз {0}", dynamicArray.Remove("G"));
            Console.WriteLine($"при удалении элемента G Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при удалении элемента G Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine("попытка удаления G второй раз {0}", dynamicArray.Remove("G"));
            Console.WriteLine();

            // condition 7
            dynamicArray.Insert(7, "G");
            Console.WriteLine($"при добавления элемента на позицию 7 Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при добавления элемента на позицию 7 Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            // ArgumentOutOfRangeException
            // dynamicArray.Insert(14,"G");
            Console.WriteLine();

            // condition 11
            Console.WriteLine($"Вывод нулевого элемента: {dynamicArray[0]}");

            // condition 1
            Console.WriteLine($"Вывод -1 элемента: {dynamicArray[-1]}");

            // condition 2
            dynamicArray.Capacity = 10;
            Console.WriteLine($"при изменении Capacity на 10 Capacity = {dynamicArray.Capacity}");
            Console.WriteLine($"при изменении Capacity на 10 Length = {dynamicArray.Length}");
            ShowDynamicArray(dynamicArray);
            Console.WriteLine();

            // condition 3
            Console.WriteLine("Создание Clone");
            DynamicArray <string> cloneDynamicArray = (DynamicArray <string>)dynamicArray.Clone();

            Console.WriteLine($"Capacity Clone = {cloneDynamicArray.Capacity}");
            Console.WriteLine($"Length Clone = {cloneDynamicArray.Length}");
            ShowDynamicArray(cloneDynamicArray);
            Console.WriteLine();

            // condition 4
            string[] toArray = dynamicArray.ToArray();
            Console.WriteLine("ToArray:");
            foreach (var item in toArray)
            {
                Console.Write($"{item} ");
            }

            Console.WriteLine();
            Console.WriteLine();

            CycledDynamicArray <int> cycledDynamic = new CycledDynamicArray <int>()
            {
                1, 2, 3, 4
            };

            Console.WriteLine("CycledDynamicArray:");
            int count = 10;

            foreach (var item in cycledDynamic)
            {
                Console.Write(item + " ");
                count--;
                if (count == 0)
                {
                    break;
                }
            }
        }
예제 #3
0
 public CycledIterator(CycledDynamicArray <T> parent)
 {
     this.parent = parent;
     position    = -1;
 }
예제 #4
0
        static void Main(string[] args)
        {
            bool quit = true;

            do
            {
                Console.WriteLine("Choose an option:");
                Console.WriteLine("1. Lost");
                Console.WriteLine("2. Word Frequency");
                Console.WriteLine("3. Dynamic array demo");
                Console.WriteLine("4. Quit");
                Console.WriteLine();
                int sw = Validate();
                Console.WriteLine();
                switch (sw)
                {
                case 1:
                    Console.WriteLine("Enter a number of humans");
                    int n = Validate();
                    Lost.LastManStanding(n);
                    CleanUp();
                    break;

                case 2:
                    Console.WriteLine("Enter a text whith whitespase or dot splitters");
                    string text = Console.ReadLine();
                    Console.WriteLine();
                    WordFrequency.FCount(text);
                    CleanUp();
                    break;

                case 3:
                    Console.WriteLine("Dynamic array demo.");
                    DynamicArray <int>       da  = new DynamicArray <int>();
                    CycledDynamicArray <int> cda = new CycledDynamicArray <int>(10);
                    for (int i = 0; i < 10; i++)
                    {
                        cda.Add(i);
                        da.Add(i);
                    }
                    Console.WriteLine();
                    Console.WriteLine("Foreach iteration on 10 items dynamic array.");
                    foreach (var i in da)
                    {
                        Console.Write(i + " ");
                    }
                    Console.WriteLine(Environment.NewLine);
                    int c = 0;
                    Console.WriteLine("Foreach iteration on 10 items cycled array, with 100 iterations limit.");
                    foreach (var i in cda)
                    {
                        Console.Write(i + " ");
                        c++;
                        if (c == 100)
                        {
                            break;
                        }
                    }
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine($"Access by index = -33: {cda[-33]}");
                    CleanUp();
                    break;

                case 4:
                    quit = false;
                    break;
                }
            } while (quit);
        }