Помогите!!! Дана целая квадратная матрица, n- го порядка. Определить, является ли она магическим квадратом, т.е. суммы элементов во всех ее строках и столбцах одинаковые.
begin var n := ReadInteger('n->'); var m := ReadMatrInteger(n, n); var (a, b) := (m.Rows.Select(t -> t.Sum).Distinct, m.Cols.Select(t -> t.Sum).Distinct); if (a.Count > 1) or (b.Count > 1) or (a.First <> b.First) then Println('Квадрат не магический') else Println('Квадрат магический') end.
Answers & Comments
Verified answer
//PascalABC.NET//Версия 3.3, сборка 1634 (14.02.2018)
begin
var n := ReadInteger('n->');
var m := ReadMatrInteger(n, n);
var (a, b) := (m.Rows.Select(t -> t.Sum).Distinct, m.Cols.Select(t -> t.Sum).Distinct);
if (a.Count > 1) or (b.Count > 1) or (a.First <> b.First) then Println('Квадрат не магический') else Println('Квадрат магический')
end.