#include <iostream> using namespace std; int tablica[100]; int main() { int x, i, suma; i=0; int zbior[1000]; while(x>0){ cout << "wprowadz liczbe: "; cin >> x; i++; x = zbior[i]; } for(int j=0;j<i;i++) { suma += zbior[i]; } float srednia; srednia = suma/i; cout << "srednia wynosi: " << srednia; return 0; } Cześć, mógłby mi ktoś wskazać błąd jaki robie odnośnie pętli while? mimo wpisywania 0 dla x. Nadal pętla działa
x = 0; do { cout << "wprowadz liczbe: "; cin >> x; i++; zbior[i] = x; } while (x > 0);
Zmienna x nie ma inicjalizacji, druga sprawa w pętli while nie wpisujesz 0 dla x, lecz niewidomo co - linijka 13 :)
#include <iostream> using namespace std; int tablica[100]; int main() { int x, i, suma, j; i=0; suma = 0; int zbior[1000]; x = 0; do { cout << "wprowadz liczbe: "; cin >> x; i++; zbior[i] = x; } while (x > 0); for(int j=0;j<i;j++) { suma += zbior[j]; } float srednia = 0; cout << "suma wynosi "<< suma<< endl; cout << "i wynosi: " << i; srednia = suma/i; cout << "srednia wynosi: " << srednia; return 0; }
ok, wyglada to lepiej ale nadal wychodzi problem z sumą
nie liczy dobrze sumy, bo najpierw powinna wartość być wpisana do tablicy a później nastąpić inkrementacja
zbior[i] = x; i++;
później Ci znowu dobrze program nie policzy, zwróć uwagę że jak będziesz chciał policzyć średnią z liczb 2 i 4 dobry wynik raczej Ci nie wyjdzie (wyjdzie 2). Lepiej by było
srednia = suma/(i-1);
int x=0; while{ ... if(cin.fail()) break; //spróbuj tego
93,607 zapytań
142,529 odpowiedzi
322,999 komentarzy
63,098 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj