Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (k+ 1)-м элементами первого, при этом не используя дополнительный массив — Pascal(Паскаль)

uses crt;
const max=100;
var a,b:array[1..max] of integer;
    n,m,i,j,k:byte;
begin
clrscr;
repeat
write('Размер массива A n=');
readln(n);
until n in [1..max];
writeln('Исходный массив A:');
for i:=1 to n do
 begin
  a[i]:=i;
  write(a[i],' ');
 end;
writeln;
writeln;
repeat
write('Размер массива B m=');
readln(m);
until m in [1..max];
writeln('Исходный массив B:');
for i:=1 to m do
 begin
  b[i]:=n+i;
  write(b[i],' ');
 end;
writeln;
writeln;
repeat
write('Введите индекс для вставки массива от 1 до ',n-1,' k=');
readln(k);
until k in [1..n-1];
for i:=1 to m do
 begin
  n:=n+1;
  for j:=n downto k+1+i do
  a[j]:=a[j-1];
  a[k+i]:=b[i];
 end;
writeln('Объединение массивов:');
for i:=1 to n do
write(a[i],' ');
readln
end.

Leave a Comment

8 + 1 =