Informatică, întrebare adresată de eusunt6685, 8 ani în urmă

Se citesc de la tastatură n, un număr natural mai mic decât 100 și cele n
elemente reale ale unui vector. Se cere să se insereze între oricare două
elemente ale vectorului media lor aritmetică. C++ EXPLICATII

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

COROANA TE ROG!!!

#include<iostream>

using namespace std;

int main(){

   int n; //declar n numarul de componente ale unui vector

   float v[203]; //declar un vector de tip real cu maxim 100 componente

   cin>>n; //citesc numarul de componente

   for(int i=1;i<=n;i++) cin>>v[i]; //citesc componentele vectorului

   for(int i=2;i<=n;i++) {n++; for(int j=n-1;j>=i;j--) v[j+1]=v[j]; v[i]=(v[i-1]+v[i+1])/2; i++;} //parcurg componentele vectorului incepand cu pozitia 2 deoarece primul element nu are cum sa aiba medie aritmetica dupa el; cresc numarul de componente deoarece voi insera inca una, media aritmetica; fac un for de la numarul de componente-1, adica ultima pozitie, pana la pozitia elementului i din vector si deplasez toate elementele cu o pozitie spre dreapta, astfel lasand loc pentru media aritmetica dupa elementul de pe pozitia i; pe pozitia i inserez media arimetica (v[i-1]+v[i+1])/2 si cresc i-ul deoarece trebuie sa trec la urmatorul element si sa sar peste pozitia mediei aritmetica

   for(int i=1;i<=n;i++) cout<<v[i]<<' '; //afisez vectorul prelucrat

   return 0;

}

Alte întrebări interesante