Guest User

Untitled

a guest
Sep 27th, 2021
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.20 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4.  
  5. namespace _3x3MatrixSum
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int[] size = Console.ReadLine()
  12.                 .Split()
  13.                 .Select(int.Parse)
  14.                 .ToArray();
  15.             var matrix = new int[size[0], size[1]];
  16.  
  17.             for (int i = 0; i < size[0]; i++)
  18.             {
  19.                 var colEl = Console.ReadLine()
  20.                     .Split(" ",StringSplitOptions.RemoveEmptyEntries)  //тук се чупи, затова го добавих
  21.                     .Select(int.Parse)
  22.                     .ToArray();
  23.                 for (int j = 0; j < size[1]; j++)
  24.                 {
  25.                     matrix[i, j] = colEl[j];
  26.                 }
  27.             }
  28.             //int[,] newMatrix = new int[3, 3]; не е нужно
  29.             var startRow = 0;
  30.             var startCol = 0;
  31.             var largest = 0;
  32.             for (var i = 0; i < matrix.GetLength(0) - 2; i++)
  33.             {
  34.                 for (var j = 0; j < matrix.GetLength(1) - 2; j++)
  35.                 {
  36.                     var sum = 0;
  37.                     for (var x = i; x < i + 3; x++)
  38.                     {
  39.                         for (var y = j; y < j + 3; y++)
  40.                         {
  41.                             sum += matrix[x, y];
  42.                         }
  43.                     }
  44.                     if (sum > largest)
  45.                     {
  46.                         largest = sum;
  47.                         startRow = i; //начало на квадрата
  48.                         startCol = j; //начало на квадрата
  49.                     }
  50.                 }
  51.             }
  52.            
  53.             var sb = new StringBuilder(); //за да се намали броя писане в конзолата
  54.             sb.AppendLine($"Sum = {largest}");
  55.             for (int i = startRow; i < startRow + 3; i++)
  56.             {
  57.                 for (int y = startCol; y < startCol + 3; y++)
  58.                 {
  59.                     sb.Append(matrix[i, y] + " ");
  60.                 }
  61.                 sb.AppendLine();
  62.             }
  63.             Console.WriteLine(sb.ToString().Trim());
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment