Informatică, întrebare adresată de PorcuPorcos, 9 ani în urmă

Ajutor !!!

Ajutati-ma la aceasta problema


Se da un vector cu elemente numere reale, N <_ 30. Sa se insereze intre oricare doua elemente alaturate media lor aritmetica.


Dau +1 cine mi-o face !!! Pliz help !!! Profa noastra nu ne explica deloc ce facem, ce inseram etc


AntiEaglesDavids: pai daca iti scriu rezolvarea direct tot nu-ti explic, la fel ca profa ta
AntiEaglesDavids: deci care e ideea?

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
0
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n;
    cin >> n;

    vector<float> v(n + 1);

    for(int i = 1; i <= n; i++) cin >> v[i];
    for(int i = 1; i <= 2 * n - 3; i += 2)
        v.insert(v.begin() + i + 1, (v[i] + v[i + 1]) / 2.f);

    for(int i = 1; i < v.size(); i++) cout << v[i] << ' ';
    return 0;
}


AntiEaglesDavids: da-i asta profei tale si sigur iti va da 10!
AntiEaglesDavids: garanteaza papa antieagledavids!
Tavian: sau te va pune sa explici si-ti va da 2 daca nu stii
Răspuns de Tavian
0
trebuie citit in vector in felul urmator:
v[1]=a1
v[2]=0
v[3]=a2
............
dupa aceea calculezi in v[i] media aritmetica a v[i-1] si v[i+1]

daca se cere sa inserezi doar media aritmetica a doua dintre ele,
afisezi pana la cele 2 nr, apoi I nr, media aritmetica a elor doua, al II-lea nr si apoi celelalte elemente
Alte întrebări interesante