Поменять местами максимальный и минимальный элемент массива - C# (179307)
Формулировка задачи:
Сформировать массив 20 целых случайных чисел в диапазоне от минус 30 до 30.
* Напечатать его. Поменять местами максимальный и минимальный элементы массива.
* Напечатать новый массив.
Вот я написал частями, а как произвести замену между максимальным и минимальным элементом массива ?
System.Random random = new System.Random();
int[] array = System.Linq.Enumerable.Repeat(1, 40).Select(x => random.Next(-40, 40)).ToArray();
System.Console.WriteLine("Массив: ");
System.Array.ForEach(array, x => { System.Console.Write(x + " "); });
int posMax = System.Array.IndexOf(array, array.Max());
int posMin = System.Array.LastIndexOf(array, array.Min());
if (posMin > posMax)
posMin = System.Array.IndexOf(array, array.Min());
if (posMin > posMax)
{
int b = posMin;
posMin = posMax;
posMax = b;
}
int p = 1;
if (posMax - posMin > 0)
{
for (int i = posMin + 1; i < posMax; i++)
p *= array[i];
}
else
System.Console.WriteLine("\nМеждуй максимальным и минимальным элементами ничего нет");
System.Console.ReadKey(true);Решение задачи: «Поменять местами максимальный и минимальный элемент массива»
textual
Листинг программы
iArray2.ForEach(i => Console.Write("{0} ", i));