Mam do napisania program który liczy średnią z liczb nieparzystych, z przedziału 0-20. Napisałem program, lecz coś w nim musi być nie tak, bo.. licząc samemu średnią z tych liczb, zupełnie co innego wychodzi, dlatego Proszę o pomoc w poprawie programu.
Z góry dzięki.
Kod: Zaznacz cały
#include <iostream>
/*program pobierający liczby z klawiatury (zero kończy wpis) i obliczający
średnią liczb dodatnich nieparzystych z przedziału od 0 do 20 */
using namespace std;
int main()
{
int liczba;
float suma=0;
int ilosc=0;
float srednia;
int parzysta=((liczba%2)==0);
cout << "Liczba musi byc: Nieparzysta, Dodatnia, i z przedzialu 0-20.." << endl;
cout << "Liczba( 0 - konczy wpis )" << endl;
while(liczba!=0)
{
cout << "Podaj liczbe: ";
cin >> liczba;
if(liczba<0 || liczba>20 || (liczba%2)==0)
{
cout <<"Podano nieprawidlowa liczbe !" << endl;
cout <<"Podaj liczbe: ";
cin >> liczba;
suma=suma+liczba;
ilosc=ilosc+1;
}
else
{
while(liczba>0 && liczba<20 && liczba!=parzysta)
{
cout <<"Warunek został spełniony. !" << endl;
cout << "Podaj kolejną liczbe: ";
cin >> liczba;
}
}
}
suma=suma+liczba;
ilosc=ilosc+1;
srednia=suma/ilosc;
cout << endl;
cout << "Srednia tych liczb wynosi: " << srednia << endl;
return 0;
}