Advertisement
Lyubohd

Variant1_Zad1

Jun 26th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.84 KB | None | 0 0
  1. namespace Variant1_Zad1
  2. {
  3.     using System;
  4.  
  5.     public class StartUp
  6.     {
  7.         public static void Main()
  8.         {
  9.             //Извикваме функция за прочитане на двумерен масив от клавиатурата
  10.             int[,] array2d = ReadArray();
  11.  
  12.             //Извикваме функция за намиране на максималните елементи на всеки стълб
  13.             int[] maxElementsArray = FindMinElementByRow(array2d);
  14.  
  15.             //Извикваме финкцията с която намираме минималният и максималният елемент в масива
  16.             FindMinAndMax(maxElementsArray);
  17.         }
  18.  
  19.         //Функция за прочитане на матрицата с нули по главният диагонал
  20.         public static int[,] ReadArray()
  21.         {
  22.             Console.Write("Въведете размер на матрицата по-мълък от 10: ");
  23.             int n = int.Parse(Console.ReadLine());
  24.             int[,] arr2d = new int[n, n];
  25.             for (int i = 0; i < n; i++)
  26.             {
  27.                 for (int j = 0; j < n - i; j++)
  28.                 {
  29.                     arr2d[i, j] = int.Parse(Console.ReadLine());
  30.                 }
  31.             }
  32.             return arr2d;
  33.         }
  34.  
  35.         /* Функция за намиране на максимален елемент на всеки стълб
  36.         и добавяне в нов едномерен масив */
  37.         public static int[] FindMinElementByRow(int[,] array2d)
  38.         {
  39.             //Намираме броя на редовете в масива
  40.             var matrixSize = array2d.GetLength(0);
  41.  
  42.             //Инициализираме нов едномерен масив със големина дължината на двумерният масив
  43.             int[] maxElementArr = new int[matrixSize];
  44.  
  45.             //Обхождаме масива стълб по стълб
  46.             for (int col = 0; col < matrixSize; col++)
  47.             {
  48.                 //създаваме/зануляваме помошната променлива
  49.                 int maxElement = int.MinValue;
  50.                 for (int row = 0; row < matrixSize; row++)
  51.                 {
  52.                     int currentNumber = array2d[row, col];
  53.                     if (currentNumber > maxElement)
  54.                     {
  55.                         maxElement = currentNumber;
  56.                     }
  57.                 }
  58.                 //при намирането на максимален елемент го записваме в новия масив
  59.                 maxElementArr[col] = maxElement;
  60.             }
  61.             return maxElementArr;
  62.         }
  63.         //Фукнция за намиране на минимален и максимален елемент в масива
  64.         public static void FindMinAndMax(int[] array)
  65.         {
  66.             int maxElement = int.MinValue;
  67.             int minElement = int.MaxValue;
  68.             for (int i = 0; i < array.Length; i++)
  69.             {
  70.                 int currentNumber = array[i];
  71.                 if (currentNumber >= maxElement)
  72.                 {
  73.                     maxElement = currentNumber;
  74.                 }
  75.                 if (currentNumber <= minElement)
  76.                 {
  77.                     minElement = currentNumber;
  78.                 }
  79.             }
  80.             //Печатаме минималният и максималният елемент на масива
  81.             Console.WriteLine("Минималният елемент в масива е равен на: " + minElement);
  82.             Console.WriteLine("Максималният елемент в масива е равен на: " + maxElement);
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement