Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль) Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. Вычислите количество положительных элементов.
Пример:
Массив:
20 -90 15 -34 10 0
Результат:
20 15 10 -90 -34 0
Количество положительных элементов: 3

Var i,c:integer;
w:array[1..10] of integer;
a:array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(201)-100;
for i:=1 to 10 do
if a[i]>0 then
begin
w[i]:=a[i];
c:=c+1;
end;
writeln('Кол-во положительных элементов: ',c);
for i:=1 to 10 do
begin
if a[i]<=0 then
begin
a[c]:=w[c];

end;
end;
writeln('Получившийся массив:');
writeln(' ');
for i:=1 to 10 do
write(w[i],' ');
end.
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Copyright © 2024 SCHOLAR.TIPS - All rights reserved.