uses crt;
const max=100;
var a,c:array[1..max] of integer;
n,k,i,j:byte;
x,mn:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива A до ',max div 20,' n=');
readln(n);
until n in [1..max div 2];
writeln('Исходный массив A:');
for i:=1 to n do
begin
a[i]:=random(20)-9;
write(a[i]:3);
end;
writeln;
writeln;
repeat
write('Размер массива C до ',max div 20,' k=');
readln(k);
until k in [1..max div 2];
writeln('Исходный массив C:');
for i:=1 to k do
begin
c[i]:=random(20)+1;
write(c[i]:3);
end;
writeln;
writeln;
for i:=1 to k do
begin
n:=n+1;
a[n]:=c[i];//добавляем массив
end;
writeln('Объединение массивов A+C');
for i:=1 to n do
write(a[i]:3);
writeln;
writeln;
for i:=2 to n do//сортировка включениями
begin
x:=a[i];
j:=1;
while x>a[j] do inc(j);
for k:=i-1 downto j do a[k+1]:= a[k];
a[j]:=x;
end;
writeln('Отсортированный массив:');
for i:=1 to n do
write(a[i]:3);
writeln;
writeln;
if a[1]>=0 then write('В массиве А нет отрицательных элементов')
//если первый не отрицательный
else if a[n]<0 then write('Максимум из отрицательных=',a[n])
//если последний отрицательный
else//иначе ищем последний отрицательный(массив отсортирован по возрастанию)
begin
i:=n;
while a[i]>=0 do
i:=i-1;
mx:=a[i];
write('Максимум из отрицательных=',mx);
end;
readln
end.