Из положительных и отрицательных элементов исходного массива сформировать два новых - Turbo Pascal
Формулировка задачи:
3.Составьте программу формирования из массива A двух массивов, в которых первый массив заполнен отрицательными, а второй - положительными элементами.
Помогите пожалуйста
Решение задачи: «Из положительных и отрицательных элементов исходного массива сформировать два новых»
textual
Листинг программы
uses crt;
const nmax=100;
var a,b,c:array[1..nmax] of integer;
n,m,k,i:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива А от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
m:=0;
k:=0;
writeln('Массив A');
for i:=1 to n do
begin
a[i]:=-30+random(61);
write(a[i]:4);
if a[i]<0 then
begin
m:=m+1;
b[m]:=a[i];
end
else if a[i]>0 then
begin
k:=k+1;
c[k]:=a[i];
end;
end;
writeln;
if m=0 then writeln('В массиве А нет отрицательных элементов')
else
begin
writeln('Массив отрицательных элементов');
for i:=1 to m do
write(b[i]:4);
writeln;
end;
if k=0 then writeln('В массиве А нет положительных элементов')
else
begin
writeln('Массив положительных элементов');
for i:=1 to k do
write(c[i]:4);
writeln;
end;
readln
end.
Объяснение кода листинга программы
- Создаётся переменная
nmaxи присваивается ей значение 100. - Создаются три переменные
a,bиcтипаarray[1..nmax] of integer. - Создаются три переменные
n,m,kиiтипаbyte. - Выполняется цикл
repeat, который продолжается до тех пор, пока размер массиваaне будет в диапазоне от 2 доnmax. - Внутри цикла считывается размер массива
aи выводится на экран. - Инициализируется переменная
mзначением 0, а переменнаяk- значением 0. - Выводится на экран сообщение о массиве
A. - Запускается цикл
for, который выполняется для каждого элемента массиваaот 1 доn. - Внутри цикла считывается текущий элемент массива
aи вычисляется его знак. - Если элемент массива
aотрицательный, то увеличивается значение переменнойmна 1, и в массивbзаписывается текущий элемент массиваa. - Если элемент массива
aположительный, то увеличивается значение переменнойkна 1, и в массивcзаписывается текущий элемент массиваa. - После завершения цикла
forвыводится на экран сообщение о том, что в массивеAнет отрицательных или положительных элементов. - Выводится на экран сообщение о массиве
A. - Выводится на экран сообщение о массиве
B, если в массивеaбыли отрицательные элементы. - Выводится на экран сообщение о массиве
C, если в массивеaбыли положительные элементы. - Выводится на экран символ новой строки.