Создать третий массив из двух исходных - Pascal
Формулировка задачи:
Даны два массива. Образовать третий массив, в котором сначала будут расположены все положительные элементы первого массива, затем положительные элементы второго, дальше все отрицательное первого, потом все отрицательное элементы второго массива
Решение задачи: «Создать третий массив из двух исходных»
textual
Листинг программы
var
a, b: Array[Byte] Of ShortInt;
c: Array[Word] Of ShortInt;
na, nb: Byte;
nc, i: Word;
begin
Randomize(); nc := 0;
repeat
Write('Input NA:');
ReadLn(na);
until (na > 0);
Write('A:');
for i := 0 to na - 1 do
begin
a[i] := Random(199) - 99;
Write(a[i]:4);
if (a[i] > 0)
then
begin
c[nc] := a[i];
Inc(nc);
end;
end;
WriteLn;
repeat
Write('Input NB:');
ReadLn(nb);
until (nb > 0);
Write('B:');
for i := 0 to nb - 1 do
begin
b[i] := Random(199) - 99;
Write(b[i]:4);
if (b[i] > 0)
then
begin
c[nc] := b[i];
Inc(nc);
end;
end;
WriteLn;
for i := 0 to na - 1 do
if (a[i] < 0)
then
begin
c[nc] := a[i];
Inc(nc);
end;
for i := 0 to nb - 1 do
if (b[i] < 0)
then
begin
c[nc] := b[i];
Inc(nc);
end;
Write('C:');
for i := 0 to nc - 1 do
Write(c[i]:4);
end.
Объяснение кода листинга программы
- Объявление переменных:
-
aиb- массивы байтов, каждый элемент которых содержит значение типаShortInt-c- массив слов, каждый элемент которого также содержит значение типаShortInt-naиnb- переменные типаByte-ncиi- переменные типаWord - Инициализация случайных чисел для генерации значений в массивах
aиb. Установление начального значенияncравным нулю. - Запрос ввода значения переменной
naдо тех пор, пока введенное значение не будет больше 0. - Генерация значений для массива
aи добавление положительных значений в массивc. - Запрос ввода значения переменной
nbдо тех пор, пока введенное значение не будет больше 0. - Генерация значений для массива
bи добавление положительных значений в массивc. - Добавление отрицательных значений из массивов
aиbв массивc. - Вывод массива
c.