Program liczacy srednia

0

Jak sprawić , by program nie musiał pytać o ilość liczb , żeby wystarczyło tylko napisać liczby i program automatycznie liczy średnią ?

#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{

	double suma = 0,
	liczba; 
	unsigned int n;

	cout<<"Z jakiej ilości liczb chcesz liczyć średnią arytmetyczną: ";
	cin>>n;
	cout<<endl;

	if(n>0)
	{
		int i = 1;
		while(i<=n)
		{
			cout<<"Podaj "<<i++<<" liczbę: ";
			cin>>liczba;
			suma+=liczba; 
		}
		cout<<"Średnia "<<n<<" liczb wynosi: "<<suma/n<<endl;
	}
	else
	cout<<"Podałeś nieprawidłową wartość zmiennej n"<<endl;

	return 0;
}
0

Usunąć zapytanie o liczbę wprowadzanych liczb, a same wartości przyjmować w pętli tak długo, jak powiedzie się cin >> liczba.

0
Althorion napisał(a):

Usunąć zapytanie o liczbę wprowadzanych liczb, a same wartości przyjmować w pętli tak długo, jak powiedzie się cin >> liczba.

czy mógłbyś to pokazać na kodzie , bo nie za bardzo wiem jak to zapisać

1
while (cin >> liczba) {
  ++i;
  suma += liczba;
}

Będzie przyjmować liczby tak długo, jak będzie w stanie konwertować wejście na inta. Najłatwiej przerwać wysyłając sygnał końca pliku, na Linuksie to ctrl + d, na Windowsie chyba (nie pamiętam za bardzo) ctrl + z.

1 użytkowników online, w tym zalogowanych: 0, gości: 1