Advertisement
VitalyD

Untitled

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