Матрицы (Паскаль)
Я сделал программу которая вводит массив с клавиатуры и подсчитывает среднее арифмитическое отрицательных элементов матрицы выше главной диагонали. Вот код:
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 нет отрицательных элементов! В матрицу я ввожу отрицательные числа выше главной диагонали и всё равно