Вывести количество строк/столбцов матрицы, элементы которых монотонно возрастают/убывают - C#

Узнай цену своей работы

Формулировка задачи:

Дана матрица размера N×M. Вывести количество строк1|столбцов2, элементы которых монотонно возрастают3|убывают4.

Решение задачи: «Вывести количество строк/столбцов матрицы, элементы которых монотонно возрастают/убывают»

textual
Листинг программы
  1. class Program
  2.     {
  3.         static Random rnd = new Random();
  4.         static void Main(string[] args)
  5.         {
  6.             do
  7.             {
  8.                 int m, n;
  9.                 do
  10.                 {
  11.                     Console.WriteLine("Введите количество строк");
  12.                     int.TryParse(Console.ReadLine(), out m);
  13.  
  14.                     Console.WriteLine("Введите количество Столбцов");
  15.                     int.TryParse(Console.ReadLine(), out n);
  16.                 }
  17.                 while (n <= 0 || m <= 0);
  18.                 int[,] ar = new int[m, n];
  19.                 int rowubiv = 0;//по убывапнию строк
  20.                 CreateArray(ar);
  21.                 ShowArray(ar);
  22.                 int countvozrast = AmountRow(ar,ref rowubiv);//по возрастанию строк
  23.                 Console.WriteLine($"Количество монотонно возрастающих строк {countvozrast}");
  24.                 Console.WriteLine($"Количество монотонно убывающих строк {rowubiv}");
  25.                 Console.ReadKey();
  26.             } while (!(Console.ReadKey(true).Key == ConsoleKey.Escape));
  27.         }
  28.      
  29.        static void  ShowArray(int [,] ar )
  30.         {
  31.             for (int i = 0; i < ar.GetLength(0); i++)
  32.             {
  33.                 for (int j= 0; j < ar.GetLength(1); j++)
  34.                 {
  35.                     Console.Write($"{ar[i,j]}  ");
  36.                 }
  37.                 Console.WriteLine();
  38.             }
  39.         }
  40.         static void CreateArray(int[,] ar)
  41.         {
  42.             for (int i = 0; i < ar.GetLength(0); i++)
  43.             {
  44.                 for (int j = 0; j < ar.GetLength(1); j++)
  45.                 {
  46.                     ar[i, j] = rnd.Next(10);
  47.                 }
  48.    
  49.             }
  50.         }
  51.         static int AmountRow(int[,] ar,ref int  rowubiv)
  52.         {
  53.             int count = 0;
  54.             int countrowubiv = 0;
  55.            
  56.             int countrow = 0;
  57.             for (int i = 0; i < ar.GetLength(0); i++)
  58.             {
  59.                 for (int j = 0; j < ar.GetLength(1); j++)
  60.                 {
  61.                     if (j < ar.GetLength(1) - 1 && ar[i, j] <ar[i, j + 1])
  62.                     {
  63.                         count++;
  64.                         if (count == ar.GetLength(1) - 1)
  65.                             countrow++;
  66.                     }
  67.                     if (j < ar.GetLength(1) - 1 && ar[i, j] > ar[i, j + 1])
  68.                     {
  69.                         countrowubiv++;
  70.                         if (countrowubiv == ar.GetLength(1) - 1)
  71.                             rowubiv++;
  72.                     }
  73.                    
  74.  
  75.                 }
  76.                 count = 0;
  77.                 countrowubiv = 0;
  78.  
  79.  
  80.             }
  81.             return countrow;
  82.         }
  83.  
  84.     }

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


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

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

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы