Заполнить массив С элементами массивов А и 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.
Объяснение кода листинга программы
- Создаются две переменные типа TVector (массивы A и B), а также переменная C типа array[1..2*n] of Integer (массив для заполнения).
- В переменную i записывается значение 1, так как индексы массива начинаются с 1.
- В переменную j записывается значение 1, так как j меньше n.
- В переменную e записывается значение A[j], так как j меньше n.
- В переменную min записывается значение e, так как оно меньше min.
- В переменную idx записывается значение j, так как оно меньше n.
- Если e меньше min, то min обновляется на e, а idx обновляется на j.
- В переменную C[i] записывается значение min, так как i меньше n.
- Если idx меньше или равно n, то A[idx] обновляется на максимальное значение типа Integer (maxint).
- Если idx больше n, то B[idx-n] обновляется на максимальное значение типа Integer (maxint).
- Выводится массив C с помощью функции Write.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д