Дана матрица n. Найти номер строк, элементы которых образуют монотонную(возрастающая или убывающая) последовательность! Только через 2мерный массив — Pascal(Паскаль)

const n =5;
 
var Mas: array[1..n,1..n] of integer;
    i,j,k:integer;
    flag:boolean;
 
begin
 
  {Ввод матрицы}
 
 for i:=1 to n do
  for j:=1 to n do
   begin
    write('Vvedite element ',i,j,' : ');
    readln(Mas[i,j]);
   end;
 
  {Вывод матрицы на экран}
 for i:=1 to n do
  begin
   write('|');
     for j:=1 to n do
       write(Mas[i,j],' ');
   writeln('|');
  end;
 
 
 
  for i:=1 to n do  {цикл прохода по строкам матрицы}
     begin
      
       flag:=false;
        
       if Mas[i,1]>Mas[i,2] then  {Проверка на убываущую послед. т.е первый элемент> второй элемент}
         begin
          for k:=1 to n-1 do
            if Mas[i,k]<Mas[i,k+1]  then
               flag:=true;
 
          if (flag=false) then
           writeln('Stroka s nomerom: ',i,' ubivaushaia posledovatelnost');
         end
 
        else      {Проверка на возр послед. т.е первый элемент< второй элемент}
         begin
           for k:=1 to n-1 do
             if Mas[i,k]>Mas[i,k+1] then
               flag:=true;
           if (flag=false) then
            writeln('Stroka s nomerom: ',i,' vozrastaushaia  posledovatelnost');
 
         end;
      end;
 readln;
end.

Вариант 2

uses crt;
var a:array[1..20,1..20] of integer;
    n,i,j,kv,ku:byte;
begin
clrscr;
repeat
write('Razmer matricy n=');
readln(n);
until(n>0)and(n<=20);
writeln('Vvedite ',n*n,' elementov matricy:');
for i:=1 to n do
for j:=1 to n do
  begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
  end;
clrscr;
writeln('Matrica A:');
for i:=1 to n do
  begin
    for j:=1 to n do
    write(a[i,j]:4);
    writeln;
  end;
for i:=1 to n do
  begin
   kv:=0;ku:=0;
   for j:=2 to n do
   if a[i,j]<a[i,j-1]then ku:=ku+1
   else if a[i,j]>a[i,j-1] then kv:=kv+1;
   if (kv=n-1)or(ku=n-1)then
   writeln('Stroka ',i);
  end;
readln
end.

Leave a Comment

63 − 60 =