Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль) заполнить массив случайными числами в интервале [-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.
n = 10;
var
i, c: integer;
a, w: array[1..n] of integer;
begin
randomize;
writeln('Исходный массив:');
for i := 1 to n do
begin
a[i] := random(201) - 100;
write(a[i], ' ');
end;
writeln;
c := 0;
for i := 1 to n do
if a[i] > 0 then
begin
c := c + 1;
w[c] := a[i];
end;
writeln('Кол-во положительных элементов: ', c);
for i := 1 to n do
begin
if a[i] <= 0 then
begin
c := c + 1;
w[c] := a[i];
end;
end;
writeln('Результат:');
for i := 1 to c do
write(w[i], ' ');
end.
writeln;writeln('Кол-во положительных элементов: ',k);writeln('Измененный массив:');for i:=1 to 10 dowrite(a[i],' ');end.