Zad. 5. Napisz program, który dla ciągu n liczb podawanych z klawiatury wyznaczy średnią arytmetyczną tych liczb:
Rozwiązanie:
Przy każdym przejściu pętli będziemy podawać jedną liczbę. Jak łatwo zauważyć, instrukcja iteracyjna powinna wykonać się tyle razy, ile chcemy podać liczb (n razy). W pętli będziemy dodawać podane liczby do zmiennej "suma".
Rozwiązanie za pomocą pętli for.
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
double suma = 0, //zmienna przechowuje sumę liczb
liczba; //zmienna przechowuje kolejne liczby podawane z klawiatury
unsigned int n; //zmienna odpowiedzialna za ilość liczb pdoanych z klawiatury
cout<<"Z jakiej ilości liczb chcesz liczyć średnią arytmetyczną: ";
cin>>n;
cout<<endl;
if(n>0) //średnią arytmetyczną można wyznaczać tylko z dodatniej ilości liczb
{
for(int i = 1;i<= n;i++)
{
cout<<"Podaj "<<i<<" liczbę: ";
cin>>liczba;
suma+=liczba; //lub suma = suma + liczba
}
cout<<"Średnia "<<n<<" liczb wynosi: "<<suma/n<<endl;
}
else
cout<<"Podałeś nieprawidłową wartość zmiennej n"<<endl;
return 0;
}
Rozwiązanie z wykorzystaniem pętli while
#include <iostream>
using namespace std;
int main()
{
double suma = 0, //zmienna przechowuje sumę liczb
liczba; //zmienna przechowuje kolejne liczby podawane z klawiatury
unsigned int n; //zmienna odpowiedzialna za ilość liczb pdoanych z klawiatury
cout<<"Z jakiej ilości liczb chcesz liczyć średnią arytmetyczną: ";
cin>>n;
cout<<endl;
if(n>0) //średnią arytmetyczną można wyznaczać tylko z dodatniej ilości liczb
{
int i = 1
while(i<=n)
{
cout<<"Podaj "<<i++<<" liczbę: ";
cin>>liczba;
suma+=liczba; //lub suma = suma + liczba
}
cout<<"Średnia "<<n<<" liczb wynosi: "<<suma/n<<endl;
}
else
cout<<"Podałeś nieprawidłową wartość zmiennej n"<<endl;
return 0;
}