Advertisement
vvsvvs

Untitled

May 19th, 2022
722
136 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4.  
  5. namespace Maximal_Sum
  6. {
  7.     class MaximalSum
  8.     {
  9.         static int Sum3X3(int[,]arr, int row, int col)
  10.         {
  11.             int result = 0;
  12.  
  13.             for (int r = row; r < row + 3; r++)
  14.             {
  15.                 for (int c = col; c < col + 3; c++)
  16.                 {
  17.                     result += arr[r, c];
  18.                 }
  19.             }
  20.  
  21.             return result;
  22.         }// int Sum3X3(arr, row, col)
  23.  
  24.         static void PrintArray(int[,] arr, StringBuilder sb, int maxRow, int maxCol)
  25.         {
  26.             StringBuilder temp = new StringBuilder();
  27.  
  28.             for (int row = maxRow; row < maxRow + 3; row++)
  29.             {
  30.                 temp.Clear();
  31.  
  32.                 for (int col = maxCol; col < maxCol + 3 ; col++)
  33.                 {
  34.                     temp.Append($"{arr[row, col]} ");
  35.                 }
  36.  
  37.                 sb.AppendLine(temp.ToString().TrimEnd());
  38.             }
  39.  
  40.             Console.WriteLine(sb.ToString());
  41.         }
  42.  
  43.         static void Main(string[] args)
  44.         {
  45.             int[] dimensions = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  46.             int rows = dimensions[0];
  47.             int cols = dimensions[1];
  48.  
  49.             int[,] arr = new int[rows, cols];
  50.  
  51.             for (int row = 0; row < rows; row++)
  52.             {
  53.                 int[] temp = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  54.  
  55.                 for (int col = 0; col < cols; col++)
  56.                 {
  57.                     arr[row, col] = temp[col];
  58.                 }
  59.             }
  60.  
  61.             int sum = 0;
  62.             int endRow = arr.GetLength(0) - 3;
  63.             int endCol = arr.GetLength(1) - 3;
  64.             int maxRow = 0;
  65.             int maxCol = 0;
  66.  
  67.             for (int row = 0; row <= endRow; row++)
  68.             {
  69.                 for (int col = 0; col <= endCol; col++)
  70.                 {
  71.                     int currentSum = Sum3X3(arr, row, col);
  72.                     if (currentSum > sum)
  73.                     {
  74.                         sum = currentSum;
  75.                         maxRow = row;
  76.                         maxCol = col;
  77.                     }
  78.  
  79.                 }
  80.             }
  81.  
  82.             StringBuilder sb = new StringBuilder($"Sum = {sum}\n");
  83.  
  84.             PrintArray(arr, sb, maxRow, maxCol);
  85.            
  86.         }
  87.     }
  88. }
Advertisement
RAW Paste Data Copied
Advertisement