Найти локальный минимум в матрице — Pascal(Паскаль)

uses crt;
type Matr=array[1..10,1..10]of integer;
var a:Matr;
    i,j,k:integer;
function LocMin(i,j:integer;a:Matr):boolean;
begin
LocMin:=((i=1)or(a[i,j]<a[i-1,j]))and
        ((j=1)or(a[i,j]<a[i,j-1]))and
        ((i=10)or(a[i,j]<a[i+1,j]))and
        ((j=10)or(a[i,j]<a[i,j+1]));
end;
begin
clrscr;
randomize;
for i:=1 to 10 do
   begin
    for j:=1 to 10 do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
   end;
writeln;
k:=0;
for i:=1 to 10 do
for j:=1 to 10 do
if LocMin(i,j,a)then k:=k+1;
writeln('k=',k);
readln
end.

Leave a Comment

− 3 = 4