Дана квадратная матрица А порядка. найти седловую точку матрицы, т.е. элемент который наименьший в своей своей строке и наибольший в своем столбце- Pascal(Паскаль)

Элемент матрицы
назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером п х т напечатать индексы всех ее седловых точек
uses crt;
const n=4;
const m=4;
var a:array[1..n,1..m]of integer;
    i,j,k,max,imax,min,jmin:integer;
begin
clrscr;
randomize;
writeln('Vvedite elemebty  matricy:');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
clrscr;
writeln('Ishodnaia matrica:');
for i:=1 to n do
     begin
       for j:=1 to n do
       write(a[i,j]:3);
       writeln;
     end;
readln;
for j:=1 to m do {идем по столбцам}
max:=a[1,j];imax:=1; {макс=первому элементу в столбце, imax-строка в которой}
for i:=1 to n do      {будет максимальный элемент столбца}
if a[i,j]>max then
   begin
    max:=a[i,j];    {нашли}
    imax:=i;        {запомнили строку}
   end;
min:=a[imax,1];jmin:=1;  {идем по этой строке}
for k:=1 to n do
if a[imax,j]<min then
    begin
      min:=a[imax,j];  {находим минимальный}
      jmin:=j;        {запоминаем номер столбца}
    end;
if min=max then      {если совпало}
   begin
     writeln('#stroki=',imax);  {выводим и заканчиваем поиск}
     writeln('#stolbca=',jmin);
     readln;
     exit;
   end                          {если нет переходим к следующему столбцу}
else if (j=n)and(min<>max) then
writeln('Takogo stolbca net.'); {если дошли до конца и нет совпадений}
readln
end.

Leave a Comment

49 + = 51