Создать два одномерных массива А и В различной длины. Рассортировать «впадиной» оба массива. Затем соединить в массив С и снова рассортировать «впадиной». — Pascal(Паскаль)

uses crt;
var a:array[1..100] of integer;
    n,i,j,k,imx,p,x:integer;
begin
clrscr;
randomize;
write('Razmer massiva n=');
readln(n);
writeln('Ishodnyj:');
for i:=1 to n do
 begin
  a[i]:=random(20);
  write(a[i],' ');
 end;
writeln;
writeln;
if n mod 2=0 then k:=n div 2
else k:=n div 2+1;
for i:=1 to k do
 begin
  imx:=i;
  for j:=i+1 to n-i+1 do
  if a[j]>a[imx] then imx:=j;
  x:=a[imx];
  for p:=imx downto i+1 do
  a[p]:=a[p-1];
  a[i]:=x;
  imx:=i+1;
  for j:=i+1 to n-i+1 do
  if a[j]>a[imx] then imx:=j;
  x:=a[imx];
  for p:=imx to n-i do
  a[p]:=a[p+1];
  a[n-i+1]:=x;
 end;
writeln('Vpadina:');
for i:=1 to n do
write(a[i],' ');
readln
end.

Leave a Comment

85 − 76 =