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 oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!