Średnia arytmetyczna

Zad. 5. Napisz program, który dla ciągu n liczb podawanych z klawiatury wyznaczy średnią arytmetyczną tych liczb:

  • zrealizuj to zadanie za pomocą pętli for
  • zrealizuj to zadanie z wykorzystaniem pętli while

 

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 <cstdlib>
#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;

	system("pause");
	return 0;
}

 

Rozwiązanie z wykorzystaniem pętli while

#include <cstdlib>
#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;

	system("pause");
	return 0;
}