Даны два неубывающих массива. Выполнить объединение данных в третий, также неубывающий массив (очевидно размерность результирующего массива будет равна сумме размерностей исходных). Количество элементов исходных массивов произвольное. Результирующий массив распечатать — Pascal(Паскаль)

program zad3;
uses crt;
type Ax=array of integer;
Bx=array of integer;
Cx=array of integer;
var a:Ax;
b:Bx;
c:Cx;
i,j,a1,b1,k,q,x:integer;
E:boolean;
BEGIN
clrscr;
write('razmer 1 mass');
read(a1);
write('razmer 2 mass');
read(b1);
setlength(a,a1);
setlength(b,b1);
setlength(c,a1+b1);

//vvod dannih v massivy A & B
writeln('vvod dannih v massivy A');
for i:=1 to a1 do
begin
write(i,'=');
read(a[i]);
end;

writeln('vvod dannih v massivy B');
for j:=1 to b1 do
begin
write(j,'=');
read(b[j]);
end;

//proveryaem na neubivaemost
i:=0;
for i:=2 to a1 do
if a[i]<a[i-1] then E:= true;

j:=0;
for j:=2 to b1 do
if b[i]<b[i-1] then E:= true;

if E=true then
begin
clrscr;
write('ERROR!!! Vveden ne neubivaushiy massiv');
readkey;
end
else
Begin
i:=0;
j:=0;
k:=1;

for i:=1 to a1 do
begin
c[k]:=a[i];
k:=k+1;
end;
for j:=1 to b1 do
begin
c[k]:=b[j];
k:=k+1;
end;
for k:=1 to a1+b1 do
write(c[k]);
k:=0;
x:=0;
for q:=1 to a1+b1 do
for k:=1 to a1+b1 do
if c[k]>c[k+1] then
begin
x:=c[k+1];
c[k+1]:=c[k];
c[k]:=x;
end;
k:=0;
writeln;
for k:=1 to a1+b1 do
write(c[k]);
End;
END.

Leave a Comment

50 + = 59