program Matrix;

const
  N = 3;  // Количество строк
  M = 4;  // Количество столбцов

var
  a: array[1..N, 1..M] of Integer; // Матрица для хранения чисел
  amax: Integer;                       // Переменная для максимального элемента
  s: Integer;                      // Переменная для суммы всех элементов
  i, j: Integer;                             // Переменные для циклов

begin

  amax := -1000; // Инициализируем значением Integer
  s := 0;
  for i := 1 to N do
  begin
    for j := 1 to M do
    begin
      a[i, j]:= random(10);  // Ввод элементов матрицы
  // Нахождение максимального элемента и суммы всех чисел
      // Проверяем, является ли текущий элемент максимальным
      if a[i, j] > amax then
        amax := a[i, j];
      // Нахождение суммы, Добавляем текущий элемент к сумме
      s := s + a[i, j];
    // Вывод результата
write(a[i, j]:5); // Вывод элемента с форматированием (5 пробелов)
    end;
    writeln; // Переход на новую строку после каждой строки матрицы

  end;
  writeln('------------------------------------');
  writeln('Максимальный элемент в матрице= ', amax);
  writeln('Сумма всех чисел в матрице= ', s);
  readln; // Ожидание нажатия Enter для закрытия 
end.
