Exemple #1
0
        static void SingleArray_SystemArray()
        {
            Console.Clear();
            int[] SArray = new int[0];
            if (AskForInput("одномерного массива"))
            {
                ReadingFromFile RFF = new ReadingFromFile();
                try
                {
                    SArray = RFF.SingleArrayFromFile();
                }
                catch { Console.WriteLine("Не удалось считать из файла"); Menu(); }
            }
            else
            {
                while (true)
                {
                    Console.Clear();
                    Console.WriteLine("Введите массив, каждый элемент через пробел");
                    string[] CurrentArray = Console.ReadLine().Split(' ');
                    SArray = new int[CurrentArray.Length];
                    try
                    {
                        for (int i = 0; i < SArray.Length; i++)
                        {
                            SArray[i] = int.Parse(CurrentArray[i]);
                        }
                        break;
                    }
                    catch { CheckKeyForMenu(); }
                }
            }
            //Вывод
            Console.Clear();
            Console.WriteLine("Вывожу массив");
            foreach (var item in SArray)
            {
                Console.Write("{0}\t", item);
            }

            Console.WriteLine("\n\nМаксимальное значение: \nНомер:{2} \tИндекс:{0}\tЗначение:{1}", Array.IndexOf(SArray, SArray.Max()), SArray.Max(), Array.IndexOf(SArray, SArray.Max()) + 1);
            Console.WriteLine("\n\nМинимальное значение: \nНомер:{2} \tИндекс:{0}\tЗначение:{1}", Array.IndexOf(SArray, SArray.Min()), SArray.Min(), Array.IndexOf(SArray, SArray.Min()) + 1);

            Array.Sort(SArray);
            Console.WriteLine("\n\nСортировка по возрастанию");
            foreach (var item in SArray)
            {
                Console.Write("{0}\t", item);
            }

            Array.Reverse(SArray);
            Console.WriteLine("\n\nСортировка по убыванию");
            foreach (var item in SArray)
            {
                Console.Write("{0}\t", item);
            }

            Console.WriteLine("\n\nВывод четных чисел массива");
            Array.Sort(SArray);
            int counter = 0;//Сколько четных элементов

            for (int i = 0; i < SArray.Length; i++)
            {
                if (SArray[i] % 2 == 0)
                {
                    counter++;
                }
            }
            if (counter == 0)
            {
                Console.WriteLine("В массиве нет четных чисел.");
            }
            else//запись четных элементов
            {
                int[] a_sortByCodeArray_even = Array.FindAll(SArray, x => x % 2 == 0);

                // Вывод
                foreach (var item in a_sortByCodeArray_even)
                {
                    Console.Write("{0}\t", item);
                }
            }

            #region e
            Console.WriteLine("\nНажминте любую клавишу для возвращения в меню");
            Console.ReadKey();
            Menu();
            #endregion
        }
Exemple #2
0
        static void SingleArray()
        {
            int inMin = 0, inMax = 0;
            int Min, Max;

            Console.Clear();
            int[] SArray = new int[0];
            if (AskForInput("одномерного массива"))
            {
                ReadingFromFile RFF = new ReadingFromFile();
                try {
                    SArray = RFF.SingleArrayFromFile();
                }
                catch { Console.WriteLine("Не удалось считать из файла"); Menu(); }
            }
            else
            {
                while (true)
                {
                    Console.Clear();
                    Console.WriteLine("Введите массив, каждый элемент через пробел");
                    string[] CurrentArray = Console.ReadLine().Split(' ');
                    SArray = new int[CurrentArray.Length];
                    try
                    {
                        for (int i = 0; i < SArray.Length; i++)
                        {
                            SArray[i] = int.Parse(CurrentArray[i]);
                        }
                        break;
                    }
                    catch { CheckKeyForMenu(); }
                }
            }
            Min = SArray[0];
            Max = SArray[0];
            //MinMax
            for (int i = 0; i < SArray.Length; i++)
            {
                if (Max < SArray[i])
                {
                    Max   = SArray[i];
                    inMax = i;
                }
                if (Min >= SArray[i])
                {
                    Min   = SArray[i];
                    inMin = i;
                }
            }
            //Output
            Console.Clear();
            Console.WriteLine("Массив");
            foreach (int element in SArray)
            {
                Console.Write("{0}\t", element);
            }

            Console.WriteLine("\n\nСамое большое число\nНомер:{2} \tИндекс:{0}\tЗначение:{1}", inMax, Max, inMax + 1);
            Console.WriteLine("\nСамое маленькое число\nНомер:{2} \tИндекс:{0}\tЗначение:{1}", inMin, Min, inMin + 1);

            for (int i = 0; i < SArray.Length; i++)
            {
                for (int j = i; j < SArray.Length; j++)
                {
                    if (SArray[i] > SArray[j])
                    {
                        int temp = SArray[i];
                        SArray[i] = SArray[j];
                        SArray[j] = temp;
                    }
                }
            }
            Console.WriteLine("\n\nПо возрастанию");
            foreach (int element in SArray)
            {
                Console.Write("{0}\t", element);
            }

            for (int i = 0; i < SArray.Length; i++)
            {
                for (int j = i; j < SArray.Length; j++)
                {
                    if (SArray[i] < SArray[j])
                    {
                        int temp = SArray[i];
                        SArray[i] = SArray[j];
                        SArray[j] = temp;
                    }
                }
            }
            Console.WriteLine("\n\nПо убыванию");
            foreach (int element in SArray)
            {
                Console.Write("{0}\t", element);
            }

            Console.WriteLine("\n\nЧетные");
            int n2 = 0;

            for (int i = 0; i < SArray.Length; i++)
            {
                if (SArray[i] % 2 == 0)
                {
                    n2++;
                }
            }
            if (n2 == 0)
            {
                Console.WriteLine("В массиве не было четных чисел.");
            }
            else
            {
                for (int i = 0; i < SArray.Length; i++)
                {
                    for (int j = i; j < SArray.Length; j++)
                    {
                        if (SArray[i] > SArray[j])
                        {
                            int temp = SArray[i];
                            SArray[i] = SArray[j];
                            SArray[j] = temp;
                        }
                    }
                }
                int[] SArray_even = new int[n2];
                int   f           = 0;
                for (int k = 0; k < SArray.Length; k++)
                {
                    if (SArray[k] % 2 == 0)
                    {
                        SArray_even[f] = SArray[k];
                        f++;
                    }
                }
                for (int i = 0; i < n2; i++)
                {
                    Console.Write("{0}\t", SArray_even[i]);
                }
            }
            #region e
            Console.WriteLine("\nНажминте любую клавишу для возвращения в меню");
            Console.ReadKey();
            Menu();
            #endregion
        }