Citind de la tastatura n numere naturale, sa se calculeze media armonica a lor.
Răspunsuri la întrebare
Răspuns de
9
Formula mediei armonice este:
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;
}
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
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă