Se dă un şir v de n numere intregi (n<=100) . Să se calculeze:
1.Media aritmetică a valorilor pozitive din şir
2.Media armonica a elementelor sirului
3. Media aritmetică a valorilor nenule din sir
În c++(sunt 3 probleme)
Profil:mate-info ​

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, i, poz=0, nu0=0, num;

   float s_arm=0, ma_poz, m_arm, ma_nu0, s_poz=0, s_nu0=0;

   cin >> n;

   for (int i=1; i<=n; i++) {

       cin >> num;

       if (num>0) {

           ++poz; s_poz+=num;

           s_arm+=1.0/num;

       }

       if (num!=0) {

           ++nu0; s_nu0+=num;

       }

   }

   ma_poz=s_poz/poz;

   m_arm=1.0*poz/s_arm;

   ma_nu0=s_nu0/nu0;

   cout << "1. " << ma_poz << endl;

   cout << "2. " << m_arm << endl;

   cout << "3. " << ma_nu0;

   return 0;

}

Explicație:

media armonică se calculează numai pentru numere pozitive...

Așa-i sau nu ???

Succese!