Матрицы (Паскаль)

Я сделал программу которая вводит массив с клавиатуры и подсчитывает среднее арифмитическое отрицательных элементов матрицы выше главной диагонали. Вот код:

Program Lab;

const

nmax = 10;

type

matrix = array[1..nmax, 1..nmax] of integer;

var

a, b: matrix;
m, n, num, s: integer;
sa, sb: real;

procedure Get(x: matrix; m, n: integer);
var i, j: integer;
begin
readln(m, n);
for i := 1 to m do
for j := 1 to n do
read(x[i, j]);
end;

function Srz (x: matrix; n, s, num: integer): real;
var i, j: integer;
begin
s := 0;
num := 0;
for i := 1 to n - 1 do
for j := i + 1 to n do
begin
if x[i, j] < 0 then
begin
num := num + 1;
s := s + x[i, j];
Srz := s / num;
end
else
Srz := 0;
end;
end;

begin

Get(a, m, n);
Get(b, m, n);
sa := Srz(a, n, s, num);
sb := Srz(b, n, s, num);
if sa > 0 then
writeln(sa)
else
writeln('В матрице a нет отрицательных элементов!');
if sb > 0 then
writeln(sb)
else
writeln('В матрице b нет отрицательных элементов!');

end.

Почему моя программа выдаёт: В матрице a нет отрицательных элементов! В матрице b нет отрицательных элементов! В матрицу я ввожу отрицательные числа выше главной диагонали и всё равно


Ответы (0 шт):