Const nx =50; var z:array[1..nx] of integer; i,j,n,m,d,s,s1,k:integer; sr:real; begin write ('Введите число элементов n');read(n); for i:= 1 to n do begin z[i]:= random(30)-5; write(z[i]:3); if z[i]=0 then m:=i;end;writeln; if m > 0 then begin for j:=1 to n do begin if (j< m) and (z[j] mod 2 = 0) then s:= s + z[j]; if (j> m) and (z[j] mod 2 = 1) then begin s1:= s1 + z[j]; k:= k +1; end;end;end else begin writeln; for i:=1 to n do begin for j:=2 to n do begin if z[j] > z[j-1] then begind:=z[j-1]; z[j-1]:=z[j]; z[j]:= d;end;end; end;end;writeln; sr:= s1 /k; if m > 0 then begin writeln('сумму нечетных чисел от последнего нулевого значения до Z[N]', s:6); write('среднее арифметическое четных чисел, находящихся в массиве до последнего нуля ', sr:6:3); end else for j:=1 to n do write(z[j]:3);end.
Вот код простой и понятный В строке №7 мы записали переменную для хранения индекса отрицательного элемента. В строке №19 мы задаем условие, при котором перебираются все 10 сгенерированных чисел и среди них ищется отрицательный, и если отрицательное число находится, то его индекс (номер) заносится в переменную K (строка №21). В строке №23 записывается условие: если переменная «K» больше 0 (т.е. есть отрицательные элементы), то на экран выводится сообщение (строка №24). В обратном случае (если нет отрицательных элементов, и «K» так и останется равным 0), выведется сообщение (строка №26)