Wybór najmniejszej i największej liczby po zakończeniu pętli zerem "0"
Ostatnio zmodyfikowano 2012-11-29 07:49
lhrrob Temat założony przez niniejszego użytkownika |
Wybór najmniejszej i największej liczby po zakończeniu pętli zerem "0" » 2012-11-28 10:48:59 Witam "Program ma za zadanie pobierać od użytkownika kolejne liczby rzeczywiste tak długo, aż poda on liczbę 0, po czym należy wyświetlić ile liczb zostało podanych (nie licząc 0), ich sumę, średnią, liczbę największą i najmniejszą." Nie potrafię obejść tego "0" i program za każdym razem je pokazuje jako najmniejszą wpisaną. Proszę Was o pomoc jak rozwiązać ten problem. Z góry dziękuję za pomoc. Oto fragment kodu: void licz() { float mini = 0, maks = 0, suma = 0, liczba = 0; int licznik = 0; cout << "Podaj dowolny ciag liczb: " << endl; do { cin >> liczba; licznik++; suma += liczba; if( licznik == 0 ) { maks = mini = liczba; } else { if( liczba > maks ) maks = liczba; if( liczba < mini ) mini = liczba; } } while( liczba != 0 ); cout << "Ilosc podanych liczb: " << licznik - 1 << endl; cout << "Suma tych liczb wynosi : " << suma << endl; cout << "Srednia tych liczb wynosi : " << suma /( licznik - 1 ) << endl; cout << "Najwieksza liczba wynosi : " << maks << endl; cout << "Najnizsza liczba wynosi : " << mini << endl; } |
|
jsc |
» 2012-11-28 11:01:35 Zamień pętle do-while na while i wczytywanie liczb umieść na końcu jej ciała i tuż przed nią. |
|
lhrrob Temat założony przez niniejszego użytkownika |
» 2012-11-28 11:15:29 Dzięki Ci za chęć pomocy. Próbowałem zrobić tak jak radzisz ale kod stracił poprzednie funkcjonalności nie mówiąc już o liczbie minimalnej :) ehh... |
|
jsc |
» 2012-11-28 11:27:40 Możesz zamieścić to co próbowałeś? |
|
lhrrob Temat założony przez niniejszego użytkownika |
» 2012-11-28 11:36:46 hm... teraz fajnie pokazuje najwiekszą i najmniejszą ale coś nie pokazuje sumy i średniej void licz() { float mini = 0, maks = 0, suma = 0, liczba = 0; int licznik = 0; cout << "Podaj dowolny ciag liczb: " << endl; cin >> liczba; while( liczba != 0 ) { if( licznik == 0 ) { maks = mini = liczba; } else { if( liczba > maks ) maks = liczba; if( liczba < mini ) mini = liczba; } cin >> liczba; suma += liczba; licznik++; } cout << "Ilosc podanych liczb: " << licznik << endl; cout << "Suma tych liczb wynosi : " << suma << endl; cout << "Srednia tych liczb wynosi : " << suma /( licznik - 1 ) << endl; cout << "Najwieksza liczba wynosi : " << maks << endl; cout << "Najnizsza liczba wynosi : " << mini << endl; } |
|
krzyk |
» 2012-11-28 11:52:55 taka sobie moja wersja.
void licz() { float mini = 9999.0 , maks = - 9999.0 , suma = 0, liczba = 0; int licznik = 0; cout << "Podaj dowolny ciag liczb: " << endl; while( 1 ) { cin >> liczba; if( liczba == 0 ) break; licznik++; suma += liczba; if( liczba > maks ) maks = liczba; if( liczba < mini ) mini = liczba; } cout << "Ilosc podanych liczb: " << licznik << endl; cout << "Suma tych liczb wynosi : " << suma << endl; cout << "Srednia tych liczb wynosi : " << suma /( licznik ) << endl; cout << "Najwieksza liczba wynosi : " << maks << endl; cout << "Najnizsza liczba wynosi : " << mini << endl; }
|
|
jsc |
» 2012-11-28 11:59:11 Chodzi mi o pętle: cin >> liczba;
while( liczba != 0 ) { licznik++; suma += liczba; if( liczba > maks ) maks = liczba; if( liczba < mini ) mini = liczba; cin >> liczba; }
|
|
krzyk |
» 2012-11-28 12:05:42 @jsc
W sumie Twoje kung-fu jest lepsze od mojego:) |
|
« 1 » 2 |