Определить, является ли заданная целая квадратная матрица 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;
}