Răspuns :
Explicație:
#include <iostream>
using namespace std;
int main()
{
int n,i; //declaram de tip intreg n (numarul de valori din vectori) si contorul i
float k,v[100];//declaram de tip real media aritmetica a doua valori consecutive si elementele vectorului
cout<<"n=";
cin>>n; //citim n
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i]; //citim elementele vectorului
}
cout<<v[1]<<" "; //afisam pe ecran primul element din vector
for(i=1;i<n;i++)
{
if((v[i+1]-v[i]==1)||(v[i]-v[i+1]==1)) //testam daca cele doua valori aflate pe pozitii vecine sunt numere consecutive, fie consecutive crescator, fie consecutive descrescator
{
k=(v[i]+v[i+1])/(1.0*2);
cout<<k<<" "<<v[i+1]<<" "; //in caz afirmativ afisem intre ele media aritmetica
}
else
cout<<v[i+1]<<" "; //in caz negativ trecem mai departe
}
return 0;
}
Precizare: Tot ce se afla scris dupa // sunt comentarii ce ajuta la intelegerea problemei.
PS: Atasez si o varianta de compilare din CodeBlocks.

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.