Advertisement
Legiomax

C#_3_local_max_element

Jan 19th, 2024
917
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.89 KB | Software | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace C_Ijun
  9. {
  10.     internal class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             Random random = new Random();
  15.  
  16.             int lowRangeArray = 0;
  17.             int highRangeArray = 30;
  18.             int lowRangeRandom = 0;
  19.             int highRangeRandom = 10;
  20.  
  21.             int rangeArray = random.Next(lowRangeArray, highRangeArray);
  22.             int[] numbers = new int[rangeArray];
  23.  
  24.             int leftBorderArrayIndex = lowRangeArray;
  25.             int rightBorderArrayIndex = rangeArray - 1;
  26.  
  27.             bool hasLocalMaxElement = false;
  28.  
  29.             if (rangeArray == 0)
  30.             {
  31.                 Console.WriteLine("Массив нулевого размера\nЗдесь нечего смотреть, уходи");
  32.             }
  33.             else
  34.             {
  35.                 for (int i = 0; i < rangeArray; i++)
  36.                 {
  37.                     numbers[i] = random.Next(lowRangeRandom, highRangeRandom);
  38.                 }
  39.  
  40.                 Console.WriteLine("Исходная матрица\n");
  41.  
  42.                 for (int i = 0; i < rangeArray; i++)
  43.                 {
  44.                     Console.Write(numbers[i] + " ");
  45.                 }
  46.  
  47.                 if (rangeArray == 1)
  48.                 {
  49.                     Console.Write($"\nЛокальный максимум - {numbers[0]}");
  50.                 }
  51.                 else
  52.                 {
  53.                     if (numbers[leftBorderArrayIndex] > numbers[leftBorderArrayIndex + 1])
  54.                     {
  55.                         Console.Write($"\nЛокальный максимум - {numbers[leftBorderArrayIndex]}");
  56.                         hasLocalMaxElement = true;
  57.                     }
  58.  
  59.                     for (int i = leftBorderArrayIndex + 1; i < rightBorderArrayIndex; i++)
  60.                     {
  61.                         if (numbers[i - 1] < numbers[i] && numbers[i + 1] < numbers[i])
  62.                         {
  63.                             Console.Write($"\nЛокальный максимум - {numbers[i]}");
  64.                             hasLocalMaxElement = true;
  65.                             i++;
  66.                         }
  67.                     }
  68.  
  69.                     if (numbers[rightBorderArrayIndex] > numbers[rightBorderArrayIndex - 1])
  70.                     {
  71.                         Console.Write($"\nЛокальный максимум - {numbers[rightBorderArrayIndex]}");
  72.                         hasLocalMaxElement = true;
  73.                     }
  74.  
  75.                     if (hasLocalMaxElement is false)
  76.                     {
  77.                         Console.WriteLine("\nЛокальных максимумов нет");
  78.                     }
  79.                 }
  80.             }
  81.             Console.ReadKey();
  82.         }
  83.     }
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement