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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!