La 1, poza.
La 2, nu zice să fie diferite, așa că le pui pe toate egale (spre exemplu, 5 de 0).
La 3, rolul acelor atribuiri este de a inversa termenii consecutivi ai sirului; îți dai seama atunci când faci tabelul de variație.
La 4,
#include <iostream>
using namespace std;
int main ()
{
int i, a[6], m;
for (i=1; i<=5; i++)
cin>>a[i];
for (i=1; i<=4; i++)
{
m = a[i] + a[i+1] + abs (a[i] - a[i+1]);
a[i+1] = a[i] + a[i+1] - m/2;
a[i] = m/2;
}
cout<<a[5];
return 0;
}