Найти минимальные элементы на пересечении строки и столбца (язык программирования КуМир)

Тема: 
Массивы

Дана матрица. Требуется указать в ней местоположение элементов, которые одновременно минимальны и в своей строке и в своем столбце.

Будем перебирать элементы матрицы построчно, строка за строкой. В текущей строке находится минимальный элемент. Для этого сначала предполагается, что первый элемент минимальный. Далее в цикле, начиная со второго и до последнего элемента строки, сравнивается текущий элемент с тем, который считается минимальными. Если текущий меньше ранее найденного минимального, то запоминается номер текущего элемента в строке.

После того, как минимальный элемент в строке найден, проверяется, является этот элемент минимальным и в своем столбце. Для этого перебираются элементы столбца и сравниваются с минимальным. Если хотя бы один из них окажется меньше, то флаговой переменной присваивается 0. Это будет означать, что найденный минимум в строке не является одновременно и минимумом в столбце. Если флаговая переменная не будет сброшена в 0, значит минимум в строке является и минимумом в столбце. В этом случае на экран выводятся номера строки и столбца.

алг элементы одновременно минимальные в строке and столбце
нач
  цел N = 6, M = 5
  целтаб t[1:N,1:M]
  цел m, i, j, k, f
 
  нц для i от 1 до N
    нц для j от 1 до M
      t[i,j] := irnd(100)
      вывод t[i,j]:4
    кц
    вывод нс
  кц
 
  нц для i от 1 до N
    m := 1
    нц для j от 2 до M
      если t[i,j] < t[i,m] то
        m := j
      все
    кц
    f := 1
    нц для k от 1 до N
      если t[k,m] < t[i,m] то
        f := 0
      все
    кц
    если f = 1 то
      вывод "строка:",i," столбец:",m, нс
    все
  кц
кон

  61  61   7  27  26
  25  97   1  63  89
  92  29  37  30  33
  95  49  54  97  30
  12  98  63  97  54
   7  81  13  76  52
строка:2 столбец:3
строка:3 столбец:2
строка:6 столбец:1