uses crt;
const max=30;
var a:array[1..max] of byte;
n,i,j,k,imx:byte;
b:integer;
begin
clrscr;
randomize;
repeat
write('Количество учеников до ',max,' n=');
readln(n);
until n in [1..max];
for i:=1 to n do
a[i]:=random(50)+140;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
b:=a[i];
a[i]:=a[j];
a[j]:=b;
end;
writeln('Исходный рост:');
for i:=1 to n do
write(a[i]:4);
writeln;
writeln;
b:=164;
n:=n+1;
if b>=a[n-1] then a[n]:=b
else
begin
for i:=1 to n-1 do
if a[i]>=b then
begin
for j:=n downto i+1 do
a[j]:=a[j-1];
a[i]:=b;
break;
end;
end;
b:=178;
n:=n+1;
if b>=a[n-1] then a[n]:=b
else
begin
for i:=1 to n-1 do
if a[i]>=b then
begin
for j:=n downto i+1 do
a[j]:=a[j-1];
a[i]:=b;
break;
end;
end;
writeln('Массив после вставки 164 и 178:');
for i:=1 to n do
write(a[i]:4);
readln
end.