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

Узнай цену своей работы

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

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

Решение задачи: «Заполнить массив С элементами массивов А и B по возрастанию»

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.

Объяснение кода листинга программы

  1. Создаются две переменные типа TVector (массивы A и B), а также переменная C типа array[1..2*n] of Integer (массив для заполнения).
  2. В переменную i записывается значение 1, так как индексы массива начинаются с 1.
  3. В переменную j записывается значение 1, так как j меньше n.
  4. В переменную e записывается значение A[j], так как j меньше n.
  5. В переменную min записывается значение e, так как оно меньше min.
  6. В переменную idx записывается значение j, так как оно меньше n.
  7. Если e меньше min, то min обновляется на e, а idx обновляется на j.
  8. В переменную C[i] записывается значение min, так как i меньше n.
  9. Если idx меньше или равно n, то A[idx] обновляется на максимальное значение типа Integer (maxint).
  10. Если idx больше n, то B[idx-n] обновляется на максимальное значение типа Integer (maxint).
  11. Выводится массив C с помощью функции Write.
  12. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы