Решение задачи не должно вызвать особых затруднений. Нужно в каждой строке найти минимальный элемент. Выбор дальнейших действий зависит от того, первая ли это строка. Если строка является первой, то просто запомним найденный минимум и номер строки. Если строка не является первой, то нужно сначала сравнить найденное значение минимума и текущий максимум. Если окажется, что текущий максимум меньше найденного минимума, то найденный минимум нужно сделать текущим максимумом. В противном случае значения переменных оставить без изменений.
Приведем текст программы:
Program Problem33_3; Var X: Array[1..50,1..50] Of Integer; m,n,i,j,nom:Byte; max,min:Integer; Begin Write('Задайте количество строк и столбцов: '); ReadLn(m,n); WriteLn('Укажите элементы массива'); For i:=1 To m Do For j:=1 To n Do Begin Write('X[', i, ',', j,']:='); ReadLn(X[i,j]); End; WriteLn('Исходный массив:'); For i:=1 To m Do Begin For j:=1 To n Do Write(X[i,j]:4); WriteLn; End; For i:=1 To m Do {Цикл по количеству строк.} Begin {Поиск минимума в текущей строке.} min:=X[i,1]; {Начальное значение минимума.} For j:=2 To n Do If X[i,j]<min Then min:=X[i,j]; {Выбор максимального минимума.} If i=1 Then {Если это первая строка,} Begin {то ее данные возьмем за максимум.} nom:=i; max:=min; End Else {Это не первая строка, то есть можно сравнивать.} If max<min Then Begin nom:=i; max:=min; End; End; WriteLn('Номер строки, где находится максимальный минимум = ',nom); WriteLn('Его значение = ',max); End.