var a : array of array of byte; i, j, k, l, m, n, t : byte; max : array[1..max_count] of byte; ch : char;
begin write('Введите количество строк: '); readln(n); write('Введите количество столбцов: '); readln(m); setLength(a, n); for i:=0 to n-1 do setLength(a[i], m); write('Заполнить матрицу случайными числами (y/n): '); readln(ch); if ((ch='y') or (ch='Y')) then begin randomize; for i:=0 to n-1 do begin for j:=0 to m-1 do begin a[i][j] := random(251); write(a[i][j]: 4, ' '); end; writeln; end; end else begin for i:=0 to n-1 do begin writeln('Заполните строку ', i+1); for j:=0 to m-1 do readln(a[i][j]); end; for i:=0 to n-1 do begin for j:=0 to m-1 do write(a[i][j]:4, ' '); writeln; end; end;
t :=255; for k:=1 to max_count do begin if k>1 then t:=max[k-1]; l := a[0][0]; for i:=0 to n-1 do for j:=0 to m-1 do if ((a[i][j] > l) and (a[i][j] < t)) then l:=a[i][j]; max[k] := l; end; writeln; write(max_count, ' максимальных элемента: '); for i:=1 to max_count do write(max[i], ' '); writeln; end.
Answers & Comments
program maximus;
const
max_count = 3;
var
a : array of array of byte;
i, j, k, l, m, n, t : byte;
max : array[1..max_count] of byte;
ch : char;
begin
write('Введите количество строк: ');
readln(n);
write('Введите количество столбцов: ');
readln(m);
setLength(a, n);
for i:=0 to n-1 do setLength(a[i], m);
write('Заполнить матрицу случайными числами (y/n): ');
readln(ch);
if ((ch='y') or (ch='Y')) then begin
randomize;
for i:=0 to n-1 do begin
for j:=0 to m-1 do begin
a[i][j] := random(251);
write(a[i][j]: 4, ' ');
end;
writeln;
end;
end
else begin
for i:=0 to n-1 do begin
writeln('Заполните строку ', i+1);
for j:=0 to m-1 do
readln(a[i][j]);
end;
for i:=0 to n-1 do begin
for j:=0 to m-1 do
write(a[i][j]:4, ' ');
writeln;
end;
end;
t :=255;
for k:=1 to max_count do begin
if k>1 then t:=max[k-1];
l := a[0][0];
for i:=0 to n-1 do
for j:=0 to m-1 do
if ((a[i][j] > l) and (a[i][j] < t)) then l:=a[i][j];
max[k] := l;
end;
writeln;
write(max_count, ' максимальных элемента: ');
for i:=1 to max_count do write(max[i], ' ');
writeln;
end.