Заполнить два массива A и B одинаковой длины числами, упорядоченными по возрастанию. Заполнить третий массив X в два раза большей длины числами из этих массивов так, чтобы упорядоченность сохранилась — Pascal(Паскаль)

program PascalGuru;

var
  A, B, X: array [1 .. 50] of integer;
  n, n2, i: integer;

Procedure Regulated(n, Z: integer);
Var
  j, k: integer;
begin
  k := 0;
  j := n;
  While (j >= 1) and (k = 0) do
    if X[j] > Z then
    begin
      X[j + 1] := X[j];
      j := j - 1
    end
    else
      k := j;
  X[k + 1] := Z;
end;

{ ------------------------------------------------------------- }

begin
  write('Vvedite razmer massivov "A" i "B": ');
  read(n);
  for i := 1 to n do
  begin
    write('A[', i, ']=');
    readln(A[i]);
  end;

  for i := 1 to n do
  begin
    write('B[', i, ']=');
    readln(B[i]);
  end;

  write('Vot vvedennyy vami massiv A [uporiadocenyi]: ');
  for i := 1 to n do
    write(A[i], '  ');
  writeln;
  write('Vot vvedennyy vami massiv B [uporiadocenyi]: ');
  for i := 1 to n do
    write(B[i], '  ');

  n2 := n;
  for i := 1 to n do
    X[i] := A[i];
  for i := 1 to n do
  begin
    Regulated(n2, B[i]);
    inc(n2);
  end; { вставка }

  writeln;
  writeln;
  write('Vot massiv X (A+B): ');
  for i := 1 to n2 do
    write(X[i], '  ');

  readln;

end.

Leave a Comment

8 + 1 =