Переписать в массив Y положительные и в массив Z отрицательные элементы массива X - Turbo Pascal
Формулировка задачи:
Переписать в массив Y положительные и в массив Z отрицатель-
ные элементы массива X[N].
Помогите пожалуйста с масивами этими) я в них ничего не понимаю.
Напишите программу. Буду очень признателен вам)
Решение задачи: «Переписать в массив Y положительные и в массив Z отрицательные элементы массива X»
textual
Листинг программы
var x,y,z:array[1..100] of integer;
nx,ny,nz,i:integer;
begin
randomize;
repeat
write('Размер массива X от 2 до 100 nx=');
readln(nx);
until nx in [2..100];
writeln('Массив X');
ny:=0;
nz:=0;
for i:=1 to nx do
begin
x[i]:=-10+random(21);
write(x[i]:4);
if i mod 20=0 then writeln;
if x[i]>0 then
begin
inc(ny);
y[ny]:=x[i];
end;
if x[i]<0 then
begin
inc(nz);
z[nz]:=x[i];
end;
end;
writeln;
if ny=0 then writeln('Положительных элементов нет!')
else
begin
writeln('Массив Y');
for i:=1 to ny do
begin
write(y[i]:4);
if i mod 20=0 then writeln;
end;
end;
writeln;
if nz=0 then writeln('Отрицательных элементов нет!')
else
begin
writeln('Массив Z');
for i:=1 to nz do
begin
write(z[i]:4);
if i mod 20=0 then writeln;
end;
end;
end.
Объяснение кода листинга программы
- Создается переменная
xтипаarray[1..100] of integer(массив из 100 целых чисел) и инициализируется значением-10+random(21)(случайное число от -10 до 20). - Создаются две переменные
nyиnzтипаinteger(целое число) и инициализируются значением0. Они будут использоваться для отслеживания количества положительных и отрицательных элементов соответственно. - Запускается цикл
for, который будет выполняться столько раз, сколько элементов в массивеx. - Внутри цикла происходит следующее:
x[i]:=-10+random(21)присваивается значение случайного числа от -10 до 20 текущему элементу массиваx.- Если текущий элемент массива
xбольше нуля (x[i]>0), то увеличивается значение переменнойnyи присваивается значение текущего элемента массиваxпеременнойy[ny]. - Если текущий элемент массива
xменьше нуля (x[i]<0), то увеличивается значение переменнойnzи присваивается значение текущего элемента массиваxпеременнойz[nz].
- После завершения цикла выводится сообщение о количестве положительных и отрицательных элементов в массиве
x. - Если количество положительных элементов равно нулю (
ny=0), выводится сообщение о том, что положительных элементов нет. - Если количество отрицательных элементов равно нулю (
nz=0), выводится сообщение о том, что отрицательных элементов нет. - Код для вывода значений массива
yиzотсутствует в данном коде.