Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом - C#

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста: Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом, т.е.такой, в которой суммы элементов во всех строках истолбцах одинаковы.

Решение задачи: «Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом»

textual
Листинг программы
        private static bool Ismagic(int[,] array)
        {
            if (array == null) 
                throw new ArgumentNullException();
 
            if (array.GetLength(0) != array.GetLength(1)) 
                throw new ArgumentException("Матрица должна быть квадратной");
 
 
            int n = array.GetLength(0);
            int? prev = null;
 
            var indexes = Enumerable.Range(0, n).ToArray();
            for (int i = 0; i < n; i++)
            {
                // Строка
                int rowSum = indexes.Sum(j => array[i, j]);
                // Столбец
                int colSum = indexes.Sum(j => array[j, i]);
                
                if (rowSum != colSum) return false;
 
                if (prev == null) prev = rowSum;
                else if (prev != rowSum) return false;
                else prev = rowSum;
            }
 
            return true;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы