Задан массив AX (N). Добавить массив С(К). Выполнить сортировку включением. В полученном массиве, найти наименьший элемент из отрицательных значений — Pascal(Паскаль)

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.

Leave a Comment

91 − 86 =