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