Переставить в обратном порядке элементы массива его минимальным и максимальным элементами - C#
Формулировка задачи:
Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами, включая 2 минимальный и максимальный элементы.
Как переделать в мой вариант?
Листинг программы
- static void Main(string[] args)
- {
- int[] array = { 5, 10, 7, 8, 4, 2, 4, 1, 1, 3 };
- int Min = int.MaxValue, minIndex = -1, Max = int.MinValue, maxIndex = -1;
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] > Max)
- {
- Max = array[i];
- maxIndex = i;
- }
- if (array[i] < Min)
- {
- Min = array[i];
- minIndex = i;
- }
- }
- Console.WriteLine("Исходный массив: \t{0}", string.Join(", ", array));
- int begin = Math.Min(minIndex, maxIndex) + 1, end = Math.Max(minIndex, maxIndex) - 1;
- for (; begin < end; begin++, end--)
- {
- int tmp = array[begin];
- array[begin] = array[end];
- array[end] = tmp;
- }
- Console.WriteLine("Обработанный массив: \t{0}", string.Join(", ", array));
- Console.Read();
Ввод с клавиатуры! У меня не получается под него правильно переделать!
Решение задачи: «Переставить в обратном порядке элементы массива его минимальным и максимальным элементами»
textual
Листинг программы
- using System;
- class demo
- {
- static void Main()
- {
- Console.Write("Длина массива : ");
- int max = int.MinValue, min = int.MaxValue;
- int minI=0, maxI=0,val=0;
- int[] arr = new int[Int32.Parse(Console.ReadLine())];
- for (int i = 0; i < arr.Length; i++ )
- {
- Console.Write("элемент #{0} >> ",i+1);
- arr[i] = Int32.Parse(Console.ReadLine());
- }
- Console.WriteLine("Оригинальный массив : ");
- foreach (int n in arr)
- Console.Write(n+" ");
- for (int i = 0; i < arr.Length; i++ )
- {
- if(arr[i] > max)
- {
- max = arr[i];
- maxI = i;
- }
- if(arr[i] < min)
- {
- min = arr[i];
- minI = i;
- }
- }
- Console.WriteLine("\nПосле модификации : ");
- for (int i = 0, l = Math.Min(minI, maxI), r = val=Math.Max(minI, maxI); i < arr.Length; i++)
- {
- if (i >= l && i <= r)
- Console.Write(arr[val--] + " ");
- else Console.Write(arr[i] + " ");
- }
- Console.WriteLine();
- Console.ReadKey(true);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д