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

Citind de la tastatura n numere naturale, sa se calculeze media armonica a lor.

Răspunsuri la întrebare

Răspuns de artur99
9
Formula mediei armonice este:
m_{h}  =  \frac{n}{\frac{1}{x_{1}}+\frac{1}{x_{2}}+...+\frac{1}{x_{n}}}

Așadar, va trebui să împărțim 1 la fiecare număr citit și să punem totul într-o variabilă s, cam așa:
cin>>x;
t = 1/x;
s = s + t;

Apoi vom împărți n la suma pe care o avem în s, exact cum zice formula:
mh = n/s;

Însă toate acestea nu vor fi calculate ok dacă numerele și variabilele nu vor de tip float. (Dacă vor fi de tip int, 1/x, de exemplu, va afișa 0 aproape tot timpul). Deci, în loc de numere așa: 1/x, vom scrie 1.0/x, pentru a face calculul cu numere reale în loc de numere întregi. La fel vom și declara variabilele, cu float x, în loc de int x.

Acum să centralizăm totul:

#include <iostream>
using namespace std;

int main(){
    float n, x, t, s, mh;
    int i;
    s = 0;

    cin>>n;
    for(i=0;i<n;i++){
        cin>>x;
        t = 1.0/x;
        s = s + t;
    }
   
    mh = n / s;   
    cout<<"mh="<<mh;
}

AlupuluiGeorgiana: Multumesc mult
artur99: Np. :D
Alte întrebări interesante