Обнулить элементы массива, расположенные между его минимальным и максимальным элементами - C#
Формулировка задачи:
Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами (не включая минимальный и максимальный элементы).
Решение задачи: «Обнулить элементы массива, расположенные между его минимальным и максимальным элементами»
textual
Листинг программы
using System;
namespace CyberForum
{
public class Program
{
public static void Main(string[] args)
{
Random rnd = new Random();
int count = 10; // N
int[] array = new int[count];
for (int index = 0; index < array.Length; ++index)
{
array[index] = rnd.Next(-20, 20);
}
ShowArray(array, "Массив до обнуления", true);
int min; int max;
min = max = array[0];
int minIndex = 0, maxIndex = 0;
for (int index = 1; index < array.Length; ++index)
{
int current = array[index];
if (current > max)
{
max = current; maxIndex = index;
}
if (current < min)
{
min = current; minIndex = index;
}
}
if (maxIndex > minIndex)
{
Array.Clear(array, minIndex + 1, maxIndex - minIndex - 1);
}
else if (minIndex > maxIndex)
{
Array.Clear(array, maxIndex + 1, minIndex - maxIndex - 1);
}
else array[minIndex] = 0;
ShowArray(array, "Массив после обнуления", true);
}
public static void ShowArray(int[] array, string message, bool newRow)
{
Console.Write(message); Console.WriteLine(": ");
for (int index = 0; index < array.Length; ++index)
{
Console.Write(array[index]);
Console.Write(' ');
}
if (newRow) Console.WriteLine();
}
}
}