uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,m,i,j,imn:byte;
mx,mn:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
begin
a[i]:=random(20)+5;
write(a[i],' ');
end;
writeln;
writeln;
{находим максимум}
mx:=a[1];
for i:=1 to n do
if a[i]>mx then mx:=a[i];
{находим минимальныe и их номера}
writeln('Первые 4 минимальных и их индексы:');
for j:=1 to 4 do
begin
mn:=mx;imn:=0;
for i:=1 to n do
if a[i]<=mn then
begin
mn:=a[i];{нашли очередной минимум}
imn:=i;{его индекс}
end;
writeln(mn,' - #',imn);{выводим}
a[imn]:=mx;{заменяем на максимум}
end;
writeln;
readln
end.