Advertisement
Lyubohd

TU_03

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