Задан массив а из n элементов. заменить в нём каждый элемент полусуммой предыдущего и последующего, если n=0 то заменить на второй, а если последний равен 0 то заменить на предпоследнее.
Program gt; var a,b:array[1..1000]of real; s,n,i:integer; begin readln(n); for i:=1 to n do read(a[i]); for i:=2 to n-1 do b[i]:=(a[i-1]+a[i+1])/2; if(a[1]=0)then b[1]:=a[2] else b[1]:=b[2]/2; if(a[n]=0)then b[n]:=a[n-1] else b[n]:=b[n-1]/2; for i:=1 to n do write(b[i],' '); end.
var a,b:array[1..1000]of real;
s,n,i:integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=2 to n-1 do
b[i]:=(a[i-1]+a[i+1])/2;
if(a[1]=0)then b[1]:=a[2] else b[1]:=b[2]/2;
if(a[n]=0)then b[n]:=a[n-1] else b[n]:=b[n-1]/2;
for i:=1 to n do
write(b[i],' ');
end.