Показать сообщение отдельно
Старый 07.11.2019, 17:32   #1 (permalink)
Gasphord
Новичок
 
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Монотонная последовательность в квадратной матрице

Необходимо подсчитать количество строк и столбцов матрицы 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.
Gasphord вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070