Дана действительная матрица размером n х m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.
спросил 18 Дек, 18 от cevka в категории школьный раздел


решение вопроса

+7
Лучший ответ
uses crt;
const n=5; m=4;
var a:array[1..n,1..m]of integer;
i,j,k,b:integer;
f:boolean;
 
function max(k:integer):integer;
var j,s,m:integer;
begin
 m:=1;
 for j:=1 to m do if a[k,j]>a[k,m] then m:=i;
 max:=m;
end;
 
begin
 clrscr;
 randomize;
 writeln('Исходная матрица');
 for i:=1 to n do
 begin
  for j:=1 to m do
  begin
   a[i,j]:=-20+random(60);
   write(a[i,j]:4);
  end;
  writeln;
 end;
 
 for i:=1 to n do writeln('Максимальный элемент в ',i,'-й строке A[',i,' ',max(i),' = ',a[i,max(i)]);
 readln;
end.
ответил 18 Дек, 18 от cevka
+7
var   n:Integer; mn:Double; mj:Integer;
                 mx:Double;
                 mxi,          
                 mxj:Integer;
                 i,j:Integer;
                 T:array of array of Double;
 n:=Length(T);
   mx:=T[0,0];
   mxi:=0;
   mxj:=0;
   for i:=0 to N-1 do
   begin //Должен быть
       mn:=T[i,0];
       mj:=0;
       begin
         for j:=0 to n-1 do
               if mn>T[i,j] then  
               begin
                 mn:=T[i,j];
                 mj:=j;
               end;
         if mx<mn then
         begin
           mx:=mn;
           mxi:=i;
           mxj:=mj;
         end;
       end;
   end;
ответил 18 Дек, 18 от Olenka
+7
de: #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.
ответил 18 Дек, 18 от Vikaponya

Связанных вопросов не найдено

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

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.