Дана действительная матрица размера N*M, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением

code: #pascal
const n=8;{количество строк}
       m=10;{количество столбцов}
Var a: array [1..n,1..m] of real;{данная матрица}
    i,j,k,l,v:integer;
    minj,maxi:real;
BEGIN
{заполнение матрицы произвольными положительными действительными числами от 0 до 99}
randomize;
For i:=1 to n do
 For j:=1 to m do
   a[i,j]:=random(100);
maxi:=-1;{так как все числа положительные (мы сами так заполнили)}
For i:=1 to n do begin
 minj:=a[i,1];{предположим что первый элемент каждой i-ой строки минимальный}
 For j:=2 to m do
  {сравниваем все остальные элементы строки с уже найденным минимальным}
  If a[i,j]<minj then begin{если он меньше уже найденного то}
                     minj:=a[i,j];{он минимальный}
                     v:=j;{сохраняем его номер столбца}
                    end;
{проверяем только что полученный элемент на максимум}
 If minj>maxi then begin{если верно то сохраняем его и его индексы}
                   k:=i;
                   l:=v;
                   maxi:=minj;
                 end;
end;
{Выводим искомый элемент и его индексы хоть в едите хоть в лабеле}
 
END.

автор: Djon

Поделиться:

Похожие статьи: