Код:
program Project4nep;
type a=array of real;
var
z:a;
i,j,n,otr1,otr2,k: integer;
s1,s2: real;
begin
//определение размерности массива
writeln('vvedite coli4estvo 4isel');
readln(n); setlength(z,n);
//заполнение массива
writeln('vvedite 4isla');
for i := 0 to n-1 do
readln(z[i]);
s1 := 0;
//Сумма элементов на нечетных местах
for i := 0 to n-1 do
if i mod 2 = 0 then s1 := s1 + z[i];
//Первый отрицательный элемент
for i := 0 to n-1 do
if z[i] < 0 then
begin
otr1 := i; break;
end;
//Второй отрицательный элемент
for i := n-1 downto 0 do
if z[i] < 0 then
begin
otr2 := i ; break;
end;
s2 := 0;
//Сумма элементов между отрицательными элементами
for i := otr1 + 1 to otr2 - 1 do s2 := s2 + z[i];
writeln;
writeln('S1=',s1:0:2);
writeln('S2=',s2:0:2);
//Сжимаем массив
for i:=0 to n-1 do
if abs(z[i])<=1 then
begin
for j:=i to n-1 do
z[j]:=z[j+1];
z[n] := 0;
end;
for i := 0 to n - 1 do
write(' ',z[i]:2:1);
readln;
end.
Сделал динамический от 0 до n-1, но чет недопетрю, никак немогу сделать последний шаг, туплю, хотя наверняка все просто