Не знаю зачем ты писал такие костыли , если вот весь алгоритм
for (i = 1; i<n; i++)
{
if ((mas[i] % 2 == 0) && ((i >= a) && (i <= b)) && ((i>0) && (i<n - 1)))
{
mas[i] = mas[i - 1] + mas[i + 1];
}
}
Const n = 40;
var a:array [1..n] of integer;
i:integer;
begin
for i:=1 to 10 do a[i]:=random(21);
for i:=11 to 20 do a[i]:=random(51)-10;
for i:=21 to 30 do readln(a[i]);
for i:=31 to 40 do a[i]:=a[i-2]+a[i-1];
for i:=1 to 40 do write(a[i],' ');
end.
Тестовое решение:
1
2
3
4
5
6
7
8
9
0
13 15 17 14 3 2 20 7 14 8 29 34 28 9 7 32 36 -2 16 22 1 2 3 4 5 6 7 8 9 0 9 9 18 27 45 72 117 189 306 495