2. Дана матрица размера M*N. Найти максимальный среди минимальных элементов ее строк. Для отладки программы элементы матрицы сформировать с помощью генератора случайных чисел.
Для отладки программы элементы матрицы сформировать с помощью генератора случайных чисел.
Код:
const
n=5;
m=6;
var
mas: array[0..n,0..m] of integer;
idx, jdx, MaxInMin, Min: integer;
begin
Randomize;
for idx:=0 to n do
begin
for jdx:=0 to m do
begin
mas[idx][jdx]:=Random(10);
end;
end;
for idx:=0 to n do
begin
for jdx:=0 to m do
begin
Write(mas[idx][jdx],' ');
end;
Writeln('');
end;
MaxInMin:=0;
for idx:=0 to n do
begin
Min:=mas[idx][0];
for jdx:=0 to m do
begin
if(mas[idx][jdx]<Min) then Min:=mas[idx][jdx];
end;
Writeln('Minimum in ',idx+1, ' row = ',Min);
if(Min > MaxInMin) then MaxInMin:=Min;
end;
Writeln('Maximum in row minimum = ',MaxInMin);
Readln;
end.
n=5;
m=6;
var
mas: array[0..n,0..m] of integer;
idx, jdx, MaxInMin, Min: integer;
begin
Randomize;
for idx:=0 to n do
begin
for jdx:=0 to m do
begin
mas[idx][jdx]:=Random(10);
end;
end;
for idx:=0 to n do
begin
for jdx:=0 to m do
begin
Write(mas[idx][jdx],' ');
end;
Writeln('');
end;
MaxInMin:=0;
for idx:=0 to n do
begin
Min:=mas[idx][0];
for jdx:=0 to m do
begin
if(mas[idx][jdx]<Min) then Min:=mas[idx][jdx];
end;
Writeln('Minimum in ',idx+1, ' row = ',Min);
if(Min > MaxInMin) then MaxInMin:=Min;
end;
Writeln('Maximum in row minimum = ',MaxInMin);
Readln;
end.
Спасибо!!!
три раза по одному массиву ходить...накладно
Код:
const
n=5;
m=6;
var
mas: array[0..n,0..m] of integer;
idx, jdx, MaxInMin, Min: integer;
begin
Randomize;
MaxInMin:=Low(integer);
for idx:=0 to n do
begin
Min:=High(integer);
for jdx:=0 to m do
begin
mas[idx][jdx]:=Random(10);
Write(mas[idx][jdx],' ');
if(mas[idx][jdx]<Min) then Min:=mas[idx][jdx];
end;
Writeln(' Minimum in row = ',Min);
Writeln('');
if(Min > MaxInMin) then MaxInMin:=Min;
end;
Writeln('Maximum in row minimum = ',MaxInMin);
Readln;
end.
n=5;
m=6;
var
mas: array[0..n,0..m] of integer;
idx, jdx, MaxInMin, Min: integer;
begin
Randomize;
MaxInMin:=Low(integer);
for idx:=0 to n do
begin
Min:=High(integer);
for jdx:=0 to m do
begin
mas[idx][jdx]:=Random(10);
Write(mas[idx][jdx],' ');
if(mas[idx][jdx]<Min) then Min:=mas[idx][jdx];
end;
Writeln(' Minimum in row = ',Min);
Writeln('');
if(Min > MaxInMin) then MaxInMin:=Min;
end;
Writeln('Maximum in row minimum = ',MaxInMin);
Readln;
end.
Цитата: lafesta
три раза по одному массиву ходить...накладно
чем накладно? сделал три цикла, чтобы было лучше видно и последующего выноса в процедуры или функции, это не диплом а обучающий пример.