123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- namespace WhiteBoxLab
- {
- internal class Program
- {
- /// <summary>
- /// Ввод пользователем количесва элементов в массивве
- /// </summary>
- /// <returns>Количесво элементов в массиве</returns>
- static private int EnterCountItemArray()
- {
- int countElementsArray = 0;
- try
- {
- Console.Write("Введиет кол-во элементов в массиве => ");
- countElementsArray = Convert.ToInt32(Console.ReadLine());
- }
- catch (FormatException)
- {
- Console.WriteLine("Введен неверный формат переменной. Введите целое значение");
- }
- catch (OverflowException)
- {
- Console.WriteLine("Вы ввели слишком большое число");
- }
- if (countElementsArray == 0 || countElementsArray < 0)
- {
- Console.WriteLine("Кол-во элементов в массивве не может быть меньше или равно 0");
- }
- return countElementsArray;
- }
- /// <summary>
- /// Заполеннеие массива рандомными числами от -100 до 99
- /// </summary>
- /// <param name="countElementsArray">Количесво элементова в массиве</param>
- /// <returns>Заполненный массив</returns>
- static private int[] FillingArray(int countElementsArray)
- {
- int[] array = new int[countElementsArray];
- Random rnd = new Random();
- for (int i = 0; i < countElementsArray; i++)
- {
- array[i] = rnd.Next(-100, 100);
- }
- return array;
- }
- /// <summary>
- /// Вывод массива в консоль
- /// </summary>
- /// <param name="countElementsArray">Количесво элементов в массиве</param>
- /// <param name="array">Массив</param>
- static private void ShowArray(int countElementsArray, int[] array)
- {
- for (int i = 0; i < countElementsArray; i++)
- {
- Console.Write(array[i] + " ");
- }
- Console.WriteLine();
- }
- /// <summary>
- /// Поиск минмального элемента массива и его индекс
- /// </summary>
- /// <param name="countElementsArray">Количесво элементов в массиве</param>
- /// <param name="array">Массив</param>
- /// <param name="indexMin">Индекс массива(пустой, для заполнения функцией)</param>
- /// <returns>Минмальный элемент</returns>
- static private int SearchMinimumElement(int countElementsArray, int[] array, out int indexMin)
- {
- int min = array[0];
- indexMin = 0;
- for (int i = 0; i < countElementsArray; i++)
- {
- if (array[i] < min)
- {
- min = array[i];
- indexMin = i;
- }
- }
- return min;
- }/// <summary>
- /// Поиск максимального элемента массива и его индекс
- /// </summary>
- /// <param name="countElementsArray">Количесво элементов в массиве</param>
- /// <param name="array">Массив</param>
- /// <param name="indexMax">Индекс массива(пустой, для заполнения функцией)</param>
- /// <returns>Максимальный элемент</returns>
- static private int SearchMaximumElement(int countElementsArray, int[] array, out int indexMax)
- {
- int max = array[0];
- indexMax = 0;
- for (int i = 0; i < countElementsArray; i++)
- {
- if (array[i] > max)
- {
- max = array[i];
- indexMax = i;
- }
- }
- return max;
- }
- static void Main(string[] args)
- {
- Console.WriteLine("Вариант №7\nВ одномерном динамическом массиве, состоящем из n элементов, поменять местами максимальный и минимальный элементы!");
- int countElementsArray = -1;
- while (countElementsArray <= 0)
- {
- countElementsArray = EnterCountItemArray();
- }
- int[] array = FillingArray(countElementsArray);
- ShowArray(countElementsArray, array);
- int indexMin, indexMax;
- int min = SearchMinimumElement(countElementsArray, array, out indexMin);
- int max = SearchMaximumElement(countElementsArray, array, out indexMax);
- Console.WriteLine("Максимальный элемент = " + max + " на " + indexMax + " позиции\nМинимальный элемент = " + min + " на " + indexMin + " позиции");
- array[indexMin] = max;
- array[indexMax] = min;
- ShowArray(countElementsArray, array);
- }
- }
- }
|