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.