Определить, является ли заданная целая квадратная матрица 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д