Необходимо подсчитать количество строк и столбцов матрицы A(n*n),элементы которых образуют монотонную последовательность (по возростанию или убыванию).Можно использовать только процедуры и функции.Я совершенно запутался в ходе решения и не могу разобраться,помогите.
Код:
Const n=3;
Type
St=array [1..n]of integer;
Ta=array[1..n] of st;
Var i,j,Z,X:integer;
a,b:Ta;
function Getmat():ta;
var i, j:integer; a:ta;
begin
for i:=1 to n do
for j:=1 to n do
Read(a[i,j]);
RESULT:=A;
end;
procedure Vivod(a:Ta);
Var i,j:integer;
begin
for i:=1 to n do
begin
for j:= 1 to n do
Write(a[i,j],' ');
writeln;
end;
end;
function MontonST(S:St):boolean;
var i:integer;
begin
i:=2;
result:=true;
if S[1]<S[2]then
begin
while (i<=n-1) and result do
if S[i]<S[i-1] then
result:=false;
end
else
begin
while(i>n-1) and result do Z:=Z+1;
if S[I]>S[i-1] then
result:=false;
end;
end;
function MontonSB(a:Ta;j:integer):boolean;
Var i:integer;
Begin
i:=2;
result:=true;
begin
while (j<=n-1) and result do X:=x+1;
if a[i,j]<a[i,j-1] then
result:=false
else a[i,j]>=a[i,j-1]
End;
end;
begin
Z:=0;
X:=0;
B:=Getmat();
for i := 1 to n do
if MontonST(a[i]) then writeln(z);
for j:=1 to n do
if MontonSB(a,j) then writeln(x);
Vivod(b);
read(i);
end.