Задание: Создать функцию, определяющую в прямоугольном целочисленном массиве matrixnm количество всех его седловых точек. Седловой точкой матрицы называется ее элемент, одновременно наименьший в своей строке и наибольший в своем столбце.
мой код:
type
TVect = Array[1..100, 1..100] Of Integer;
var
n, m, i, j: integer;
a: tvect;
function sedl(a: TVect): integer;
var
b: array[1..100, 1..2] of integer;
c: array[1..100, 1..2] of integer;
d: Array[1..100] Of Integer;
i, j, k, min, max, n, m: integer;
begin
for i := 1 to n do
begin
b[i, 1] := A[i, 1];
b[i, 2] := 1;
for j := 2 to m do
if A[i, j] < b[i, 1] then begin
b[i, 1] := A[i, j];
b[i, 2] := j;
end;
end;
for j := 1 to m do
begin
c[j, 1] := a[1, j];
c[j, 2] := 1;
for i := 2 to n do
begin
if a[i, j] > c[j, 1] then begin
c[j, 1] := a[i, j];
c[j, 2] := i;
end;
end;
end;
for i := 1 to n do
begin
if (b[i, 1] = c[i, 1]) and (b[i, 2] = c[i, 2]) then begin
j := j + 1;
d[j] := b[i, 1];
end;
end;
sedl := d[1];
end;
begin
randomize;
writeln('Введите размерность массива NxM');
readln(n, m);
for i := 1 to n do for j := 1 to m do a[i, j] := random(10) + 1;
writeln('Ваш массив:');
for i := 1 to n do
begin
for j := 1 to m do write(A[i, j]: 3);
writeln;
end;
write(sedl(a));
end.
Первый вопрос на форме, извините пожалуйста, если нарушил какие-то правила.