Сформировать новый массив из положительных элементов первого массива и элементов второго массива - Pascal ABC
Формулировка задачи:
Сформировать новый массив из положительных элементов первого массива и элементов второго массива, расположенных после самого левого минимального элемента этого массива.
Решение задачи: «Сформировать новый массив из положительных элементов первого массива и элементов второго массива»
textual
Листинг программы
const
NMAX = 100;
var
a, b: Array[1..NMAX] Of ShortInt;
c: Array[1..NMAX*2 - 1] Of ShortInt;
i, min, na, nb, nc: 0..(NMAX - 1)*2;
begin
Randomize;
Write('Введите длину первого массива (1..', NMAX, '): ');
ReadLn(na);
nc := 0;
Write('Первый вектор:');
for i := 1 to na do
begin
a[i] := Random(199) - 99;
Write(a[i]:4);
if (a[i] > 0)
then
begin
Inc(nc);
c[nc] := a[i];
end;
end;
WriteLn;
Write('Введите длину второго массива (1..', NMAX, '): ');
ReadLn(nb);
min := 1;
Write('Второй вектор:');
for i := 1 to nb do
begin
b[i] := Random(199) - 99;
Write(b[i]:4);
if (b[i] < b[min])
then
min := i;
end;
WriteLn;
for i := min + 1 to nb do
begin
Inc(nc);
c[nc] := b[i];
end;
if (nc > 0)
then
begin
Write(' Новый вектор:');
for i := 1 to nc do
Write(c[i]:4);
WriteLn;
end
else
WriteLn('Новый вектор пуст!');
end.
Объяснение кода листинга программы
- В начале кода объявляются две переменные типа Array[1..NMAX] Of ShortInt: a и b. Они будут использоваться для хранения первых и вторых элементов массивов соответственно.
- Затем объявляется переменная c типа Array[1..(NMAX*2 - 1) Of ShortInt]. Она будет использоваться для хранения отсортированного массива, состоящего из положительных элементов первого и второго массивов.
- Далее объявляются три переменные i, min и nc. Переменная i будет использоваться для перебора элементов массивов, min - для хранения минимального элемента, а nc - для отслеживания количества положительных элементов в массиве c.
- Затем происходит чтение длины первого массива от пользователя.
- После этого происходит заполнение первого массива случайными числами от 0 до 99. Если число положительное, оно добавляется в массив c.
- Затем пользователь вводит длину второго массива. Аналогично заполняется второй массив случайными числами от 0 до 99.
- После этого происходит поиск минимального элемента во втором массиве. Если такой элемент найден, то все элементы второго массива, начиная с этого индекса, копируются в массив c.
- Если после копирования в массиве c остаются свободные ячейки, выводится сообщение о том, что новый массив пуст.
- Конец программы.