Есть ответ 👍

Вмассиве а[1..n,1..n] определить номера строки и столбца какой-нибудь седловой точки. некоторый элемент массива называется седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце

272
328
Посмотреть ответы 3

Ответы на вопрос:


Const   n = 6; // число строк   m = 6; // число столбцов var   a: array[1..n, 1..m] of integer;   // основной массив   rext: array[1..n, 1..2] of integer; // номера столбцов с min и max в строках   cext: array[1..2, 1..m] of integer; // номера строк с min и max в столбцах   i, j, amin, amax: integer; begin   // заполняем массив а случайными числами   randomize;   writeln('исходный массив');   for i : = 1 to n do   begin       for j : = 1 to m do       begin           a[i, j] : = random(100) - 50;           write(a[i, j]: 4);       end;       writeln;   end;   // заполняем массив rext n x 2   for i : = 1 to n do   begin       amin : = 10000;   //заведомо больше a[i,j]       amax : = -10000; //заведомо меньше a[i,j]       for j : = 1 to m do       begin           if amin > a[i, j] then begin               amin : = a[i, j]; rext[i, 1] : = j           end;           if amax < a[i, j] then begin               amax : = a[i, j]; rext[i, 2] : = j           end       end;   end;   // заполняем массив cext 2 x m   for j : = 1 to m do   begin       amin : = 10000;   //заведомо больше a[i,j]       amax : = -10000; //заведомо меньше a[i,j]       for i : = 1 to n do       begin           if amin > a[i, j] then begin               amin : = a[i, j]; cext[1, j] : = i           end;           if amax < a[i, j] then begin               amax : = a[i, j]; cext[2, j] : = i           end       end   end;   writeln;   // ищем седловые точки   writeln('*** седловые точки ***');   for i : = 1 to n do   begin       j : = rext[i, 1];       if cext[2, j] = i then           write('[', i, ',', j, '] ')       else begin           j : = rext[i, 2];           if cext[1, j] = i then               write('[', i, ',', j, '] ')       end   end;   writeln end. тестовое решение исходный массив   10  25  38  38   45  32  42  36   -39  -6    9  48   -25 -37  40  30 *** седловые точки *** [2,2]
lt20
4,5(22 оценок)

Const   n = 5; var   i, j: integer;   a: array[1..n, 1..n] of integer;   min, max: array[1..n] of integer; begin   writeln('исходный массив: ');   for i : = 1 to n do begin     for j : = 1 to n do begin       a[i, j] : = random(10);       write(a[i, j] : 3);       if (j = 1) or (max[i] > a[i, j]) then max[i] : = a[i, j];       if (i = 1) or (min[j] < a[i, j]) then min[j] : = a[i, j];     end;     writeln;   end;   writeln('седловые точки: ');   for i : = 1 to n do     for j : = 1 to n do       if max[i] = min[j] then writeln('[', i, '; ', j, ']'); end.

Срабочего стола: 1) из меню пуск 2) через консоль  с рабочего стола 3) напрямую из папки установки 4) создаём файл word и открываем его вроде все

Популярно: Информатика