Wartość średnia, maksymalna i minimalna.
Ostatnio zmodyfikowano 2016-01-19 21:48
adrianb Temat założony przez niniejszego użytkownika |
Wartość średnia, maksymalna i minimalna. » 2016-01-19 19:38:22 Cześć, Treść zadania: Wyznaczenie sredniej, najwiekszego oraz najmniejszego elementu dla N liczb wprowadzonych z klawiatury. Mój program wypisuje wartość maksymalną i średnią liczb poprawnie, natomiast wartość minimalna zawsze równa jest 0... Dlaczego? Jakaś wskazówka? #include <iostream> using namespace std;
int main() { int suma = 0; int max = 0; int min = 0; double srednia = 0; int ilosc_liczb = 0; int liczba = 0; cout << "Ile liczb chcesz wprowadzic?" << endl; cin >> ilosc_liczb; for( int i = 0; i < ilosc_liczb; i++ ) { cin >> liczba; suma += liczba; if( liczba > max ) { max = liczba; } else if( liczba < min ) { min = liczba; } } srednia = suma / ilosc_liczb; cout << "Najmniejsza liczba wynosi: " << min << endl; cout << "Najwieksza liczba wynosi: " << max << endl; cout << "Srednia arytmetyczna podanych liczb wynosi: " << srednia << endl; system( "PAUSE" ); } |
|
1aam2am1 |
» 2016-01-19 19:41:52 Wartość minimalna zawsze jest najmniejsza, więc do wartości minimalnej (int min = 0;) nie przypisuj zera tylko: a) pierwszą liczbę wprowadzoną z klawiatury b) wartość maksymalną inta |
|
adrianb Temat założony przez niniejszego użytkownika |
» 2016-01-19 19:52:11 @edit już działa, dzięki za pomoc :) #include <iostream> using namespace std;
int main() { int suma = 0; int max; int min; double srednia = 0; int ilosc_liczb = 0; int liczba = 0; cout << "Ile liczb chcesz wprowadzic?" << endl; cin >> ilosc_liczb; for( int i = 0; i < ilosc_liczb; i++ ) { min = liczba; max = liczba; cin >> liczba; suma += liczba; if( liczba < min ) { min = liczba; } else if( liczba > max ) { max = liczba; } } srednia = suma / ilosc_liczb; cout << "Najmniejsza liczba wynosi: " << min << endl; cout << "Najwieksza liczba wynosi: " << max << endl; cout << "Srednia arytmetyczna podanych liczb wynosi: " << srednia << endl; system( "PAUSE" ); }
|
|
1aam2am1 |
» 2016-01-19 21:11:25 Nie to nie działa. |
|
adrianb Temat założony przez niniejszego użytkownika |
» 2016-01-19 21:25:27 Sprawdziłem i faktycznie nie działa, widocznie jakimś cudem 3 przypadki mi wyszły... Dlaczego? Jak zrobie min = liczba = max; zamiast min = liczba to też jest źle... |
|
carlosmay |
» 2016-01-19 21:48:30 min = liczba; max = liczba; cin >> liczba; Nie ta kolejność. 'min' nadal jest równe 0. |
|
« 1 » |