Advertisement
ElliasBLR

4Labrequest

Oct 27th, 2020
742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.54 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.  
  11.         static void Main(string[] args)
  12.         {
  13.             /*  3.  Дана целая квадратная матрица. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.  
  14.              */
  15.             Console.Write("Введите размер квадратной матрицы: \n");
  16.             int n = Convert.ToInt16(Console.ReadLine());
  17.  
  18.             int[,] M = new int[n, n];
  19.             bool magic = true;
  20.             int sum = 0;
  21.            
  22.             Random random = new Random();
  23.             int rand;
  24.            
  25.             for (int i = 0; i < n; i++)
  26.             {
  27.                 for (int j = 0; j < n; j++)
  28.                 {
  29.                     rand = random.Next(0, 10);
  30.                     M[i, j] = rand;
  31.                 }
  32.             }
  33.  
  34.             Console.WriteLine("Исходная матрица: ");
  35.             for (int i = 0; i < n; i++)
  36.             {
  37.                 for (int j = 0; j < n; j++)
  38.                 {
  39.                     Console.Write(M[i, j] + "\t");
  40.                 }
  41.                 Console.WriteLine();
  42.             }
  43.            
  44.  
  45.             for (int i = 0; i < n; i++)
  46.             {
  47.                 sum += M[i, i];
  48.             }
  49.             int buf = 0;
  50.             for (int i = 0; i < n; i++)
  51.             {
  52.                 buf += M[n - i - 1, n - i - 1];
  53.             }
  54.             if (buf != sum)
  55.             {
  56.                 magic = false;
  57.             }
  58.             for (int i = 0; i < n && magic; i++)
  59.             {
  60.                 int buf1 = 0;
  61.                 int buf2 = 0;
  62.                 for (int j = 0; j < n; j++)
  63.                 {
  64.                     buf1 += M[i, j];
  65.                     buf2 += M[j, j];
  66.  
  67.  
  68.                 }
  69.                 if(buf1 != sum || buf2 != sum)
  70.                 {
  71.                     magic = false;
  72.                 }
  73.  
  74.             }
  75.             if(magic)
  76.             {
  77.                 Console.WriteLine("Матрица является магическим квадратом");
  78.  
  79.             }
  80.             else
  81.             {
  82.                 Console.WriteLine("Матрица не является магическим квадратом");
  83.             }
  84.             Console.ReadKey();
  85.  
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement