Обнулить элементы массива, расположенные между его минимальным и максимальным элементами - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы