static void SearchElementByValue(LabIntArray arr)
        {
            int    value  = LabMethods.GetInt("Введите значение для поиска: ");
            int    result = arr.FindFirstIndexByValue(value);
            string answer = result == -1 ? "Элемент не найден" : $"Индекс первого элемента {result}";

            Console.WriteLine(answer);
        }
        static int[] GetElementsForInsert()
        {
            int size = LabMethods.GetInt(
                "Введите целое количество элементов для вставки > 0: ", min: 0);

            int[] elemensForIns = new int[size];
            for (int i = 0; i < size; i++)
            {
                elemensForIns[i] = LabMethods.GetInt("Введите целое значение элемента: ");
            }
            return(elemensForIns);
        }
        static LabIntArray GetIntArrayWithRandom()
        {
            var arr         = new LabIntArray(1);
            int arrayLength = LabMethods.GetInt(
                "Введите целочисленный неотрицательный размер массива: ", min: 0);

            try
            {
                arr = new LabIntArray(arrayLength);
                arr.SetRandomElements(min: -100, max: 100);
            }
            catch (Exception ex)
            {
                Console.WriteLine(
                    $"Операцию невозможно выполнить. Ошибка: {ex.Message}");
            }
            Console.WriteLine($"Массив длиной {arrayLength} заполнен случайными числами");
            arr.PrintArrayInLine();
            return(arr);
        }
        static void ArrayMenu()
        {
            Console.WriteLine("Лабораторная работа №4\nРабота с одномерными массивами");
            var    arr        = GetIntArrayWithRandom();
            string operations = "Операции с массивом:"
                                + "\n1 Вывести массив строкой"
                                + "\n2 Вывести меню"
                                + "\n3 Заполнить массив целочисленной последовательностью от нуля до размера массива"
                                + "\n4 Заполнить массив случайными числами"
                                + "\n5 Удалить элементы с четными индексами"
                                + "\n6 Вставить в массив N элементов начиная с K"
                                + "\n7 Перевернуть массив"
                                + "\n8 Найти первый индекс элемента с заданным значением"
                                + "\n9 Отсортировать массив методом простого включения"
                                + "\n10 Создать новый массив заданного размера";

            Console.WriteLine(operations);
            int number = -1;

            while (number != 0)
            {
                number = LabMethods.GetInt("Введите номер операции. Для выхода введите 0", min: -1, max: 10);
                switch (number)
                {
                case 0: break;

                case 1: arr.PrintArrayInLine(); break;

                case 2: Console.WriteLine(operations); break;

                case 3:
                    arr.SetElementsInRange();
                    arr.PrintArrayInLine();
                    break;

                case 4:
                    arr.SetRandomElements(min: -100, max: 100);
                    arr.PrintArrayInLine();
                    break;

                case 5:
                    arr.RemoveElementsWithEvenIndex();
                    arr.PrintArrayInLine();
                    break;

                case 6:
                    int[] elemensForIns = GetElementsForInsert();
                    int   index         = LabMethods.GetInt(
                        $"Введите индекс элемента для вставки от 0 до {arr.Length}: ",
                        min: -1, max: arr.Length);
                    try
                    {
                        arr.InsertElementsBegFromK(elemensForIns, index);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(
                            $"Операцию невозможно выполнить. Ошибка: {ex.Message}");
                    }
                    arr.PrintArrayInLine();
                    break;

                case 7:
                    arr.Reverse();
                    arr.PrintArrayInLine();
                    break;

                case 8:
                    SearchElementByValue(arr);
                    break;

                case 9:
                    arr.InsertionSort();
                    arr.PrintArrayInLine();
                    break;

                case 10:
                    arr = GetIntArrayWithRandom();
                    break;
                    ;
                }
            }
        }