Переставить в обратном порядке элементы массива его минимальным и максимальным элементами - 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); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д