Заполнить массив С элементами массивов А и B по возрастанию - Pascal ABC

Формулировка задачи:

Даны два массива A и B натуральных чисел. Заполнить массив C элементами массивов A и B по возрастанию, не сортируя массивы A, B, C.

Код к задаче: «Заполнить массив С элементами массивов А и B по возрастанию - Pascal ABC»

textual
const
  n = 5; {количество элементов}
 
type
  TVector = array[1..n] of Integer; {целочисленный массив}
 
var
  A, B: TVector;
  C: array[1..2*n] of Integer;
  i, j: Integer;
  e, min, idx: integer;
 
begin
  {НАЧАЛО: Заполнение массива}
  Randomize;
  Write('Массив A: ');
  for i := 1 to n do begin
    A[i] := Random(99)+1; {случайное значение 1..99}
    Write(A[i]:4);
  end;
  WriteLn;
  Write('Массив B: ');
  for i := 1 to n do begin
    B[i] := Random(99)+1; {случайное значение 1..99}
    Write(B[i]:4);
  end;
  WriteLn;
  {КОНЕЦ: Заполнение массива}
  
  for i := 1 to 2*n do begin
    min := A[1]; idx := 1;
    for j := 1 to 2*n do begin
      if j <= n then e := A[j]
      else e := B[j-n];
      if e < min then begin
        min := e;
        idx := j;
      end;
    end;
    C[i] := min;
    if idx <= n then A[idx] := maxint
    else B[idx-n] := maxint;
  end;
  
  {НАЧАЛО: Вывод массива}
  Write('Массив C: ');
  for i := 1 to 2*n do begin
    Write(C[i]:4);
  end;
  WriteLn;
  {КОНЕЦ: Вывод массива}
end.

9   голосов, оценка 4.111 из 5


СОХРАНИТЬ ССЫЛКУ