﻿begin
  Println('Введите размерность квадратной матрицы,', NewLine+
          'небольшое число, иначе замучаетесь вводить числа');
  var n := ReadlnInteger('n =');
  
  Println('Ввод элементов матрицы:');
  var a := ReadMatrReal(n, n);
  
  Println('Вывод матрицы:');
  a.Println;
  
  Println('Выводим количество элементов в столбцах, которые > 0' +
          ' и квадрат которых больше 100:');
  for var j := 0 to n - 1 do
  begin
    var k := a.Col(j).Where(x -> (x > 0) and (x * x > 100)).Count;
    Println($'в {j} столбце таких элементов: {k}');
  end;
  
  var main := a.ElementsWithIndexes.Where(x -> x[1] = x[2]).Select(x -> x[0]).Count(x -> x < 7);
  Println($'Кол-во элементов главной диагонали < числа 7: {main}штук');
  Println($'Матрица после умножения второй строки на это число ({main}):');
  
  for var j := 0 to n - 1 do
    a[1, j] *= main;
  a.Println;
end.