VitalyD

Untitled

May 9th, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace basics
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = Int32.Parse(Console.ReadLine());
  14.             bool endProg = false;
  15.             int[,] matrix = new int[n, n];
  16.  
  17.             for (var i = 0; i < n; i++)
  18.             {
  19.                 for (var j = 0; j < n; j++)
  20.                 {
  21.                     matrix[i, j] = 0;
  22.                     Console.Write("{0}\t", matrix[i, j]);
  23.                 }
  24.                 Console.WriteLine();
  25.             }
  26.  
  27.             int dirA;
  28.             int dirB;
  29.             while (endProg == false)
  30.             {
  31.                 Console.WriteLine("Куда поставить число 1?");
  32.                 dirA = Int32.Parse(Console.ReadLine());
  33.                 dirB = Int32.Parse(Console.ReadLine());
  34.                 matrix[dirA, dirB] = 1;
  35.                 Console.Clear();
  36.  
  37.                 DrawMass(n, matrix);
  38.                 endProg = TestCol(n, endProg, matrix);
  39.                 endProg = TestRow(n, endProg, matrix);
  40.                 endProg = TestDiag(n, endProg, matrix);
  41.             }
  42.             Console.WriteLine("Программа завершена");
  43.             Console.ReadKey();
  44.         }
  45.  
  46.         private static bool TestRow(int n, bool endProg, int[,] matrix)
  47.         {
  48.             var sumRowElements = 0;
  49.             for (var i = 0; i < n; i++)
  50.             {
  51.                 for (var j = 0; j < n; j++)
  52.                 {
  53.                     sumRowElements += matrix[i, j];
  54.                 }
  55.                 if (sumRowElements == n)
  56.                 {
  57.                     endProg = true;
  58.                     break;
  59.                 }
  60.                 else sumRowElements = 0;
  61.             }
  62.             return endProg;
  63.         }
  64.  
  65.         private static bool TestCol(int n, bool endProg, int[,] matrix)
  66.         {
  67.             var sumColElements = 0;
  68.             for (var j = 0; j < n; j++)
  69.             {
  70.                 for (var i = 0; i < n; i++)
  71.                 {
  72.                     sumColElements += matrix[i, j];
  73.                 }
  74.                 if (sumColElements == n) {
  75.                     endProg = true;
  76.                     break;
  77.                 }
  78.                 else sumColElements = 0;
  79.             }
  80.             return endProg;
  81.         }
  82.  
  83.         private static bool TestDiag(int n, bool endProg, int[,] matrix)
  84.         {
  85.             var sumDiagElements = 0;
  86.  
  87.             for (var i = 0; i < n; i++)
  88.             {
  89.                 sumDiagElements += matrix[i, i];
  90.             }
  91.             if (sumDiagElements == n)
  92.             {
  93.                 endProg = true;
  94.             }
  95.             else sumDiagElements = 0;
  96.  
  97.             for (int i = n - 1, j = 0; i >= 0; i--, j++)
  98.             {
  99.                 sumDiagElements += matrix[j, i];
  100.             }
  101.  
  102.             if (sumDiagElements == n) {
  103.                 endProg = true;
  104.             }
  105.             else sumDiagElements = 0;
  106.  
  107.             return endProg;
  108.         }
  109.  
  110.         static void DrawMass(int n, int[,] matrix)
  111.         {
  112.             for (int i = 0; i < n; i++)
  113.             {
  114.                 for (int j = 0; j < n; j++)
  115.                 {
  116.                     Console.Write("{0}\t", matrix[i, j]);
  117.                 }
  118.                 Console.WriteLine();
  119.             }
  120.         }
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment