program test;
var n, total, counter, i: integer; begin total: =1; counter: =0; for i: =1 to 10 do begin read(n); if n < 0 then counter: =counter+1 else if n > 0 then total: =total*n; end; writeln('the number of negative elements = ', counter); if total = 1 then writeln('positive numbers no') else writeln('the product of positive numbers = ', total); readln; end.
Поделитесь своими знаниями, ответьте на вопрос:
var
a : array [1..100] of integer;
i, next, n : integer;
begin
read (n);
for i : = 1 to n do read (a[i]);
next : = 1;
for i : = 1 to n do
if a[i] < > 0 then
begin
a[next] : = a[i];
next : = next + 1;
end;
n : = next - 1;
for i : = 1 to n do
write (a[i], ' ');
end.
в результате работы в n будет лежать новая длина, а после массива - будет лежать всяий мусор (огрызок прежднего массива), но это неважно.