Из положительных и отрицательных элементов исходного массива сформировать два новых - 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
были положительные элементы. - Выводится на экран символ новой строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д