RylesMan, принимай код:
program Arrays;
{$APPTYPE CONSOLE}
uses
  SysUtils;
const
  n = 4;
  m = 4;// можно менять на свои, в цикле это предусмотрено
        // но осторожно с инициализацией!!!
type
  arrayA = array [1..n, 1..m] of integer;//я использую integer,
                                         //но если надо, то измени
                                         //на свой тип
var
  a: arrayA;
  middle: real;//ср. арифм.
  elCount: integer;//количество елементов массива в промежутке (a; b)
  i, j: integer;//счетчики
  left, right: integer;//промежуток
begin
  //Инициализация:
  for i := 1 to n do
    for j := 1 to m do
    begin
      a[i, j] := (i - 1) * n + j + 10;
      if a[i, j] mod 2 = 1 then
        a[i, j] := -a[i, j];
    end;
  //Виводим матрицу на екран
  WriteLn('Our array:');
  for i := 1 to n do
  begin
    for j := 1 to m do
      Write(a[i, j], ' ');
    WriteLn('');
  end;
  //Задание №1: среднее арифметическое:
  Write('Input A: ');
  ReadLn(left);
  Write('Input B: ');
  ReadLn(right);
  middle := 0;
  elCount := 0;
  for i := 1 to n do
    for j := 1 to m do
      if (a[i, j] > left)and(a[i, j] < right) then
      begin
        Inc(elCount, 1);
        middle := middle + a[i, j];
      end;
  if elCount > 0 then
    middle := middle / elCount;
  WriteLn('Middle = ', middle:10:3, '.');
  //Задание №2: замена елементов:
  for i := 1 to n do
    for j := 1 to m do
      if (i mod 2 = 1)and(a[i, j] < 0) then
        a[i, j] := -1
        else if (i mod 2 = 0)and(a[i, j] >= 0) then//здесь 0 учитывается
                                                   //как положительное
          a[i, j] := 1;
  //Виводим матрицу на екран
  WriteLn('Changed array:');
  for i := 1 to n do
  begin
    for j := 1 to m do
      Write(a[i, j], ' ');
    WriteLn('');
  end;
  //Конец программы
  WriteLn('Press any key to exit...');
  ReadLn;
end.