[C++] Iloczyn liczb w ciągu
Ostatnio zmodyfikowano 2013-12-17 20:28
Awantura Temat założony przez niniejszego użytkownika |
[C++] Iloczyn liczb w ciągu » 2013-12-12 09:45:36 Hejka, napisałem program, który będzie wczytywał z klawiatury ciąg liczb(jak podam 0, to nie prosi o kolejne liczby) Problem pojawia się, w momencie gdy obliczam iloczyn, zawsze wynosi on 0, oraz wartość najmniejsza też 0, jest to błedem. #include<iostream>
using namespace std;
int main() { int a = 1; int b = 0; int suma = 0; int srednia = 0; int iloczyn = 1; int najw = 0; int najm = 0; for( int i = 0; a != 0; ++i ) { cout << "Podaj liczbe nr :"; cin >> a; iloczyn *= a; if( a != 0 ) { ++b; suma += a; srednia = suma / b; iloczyn *= a; if( najw < a ) najw = a; if( najm > a ) najm = a; } } cout << "Podales " << b << " liczby" << endl; cout << "Suma liczb wynosi:" << suma << endl; cout << "Srednia liczb wynosi: " << srednia << endl; cout << "Iloczyn liczb wynosi: " << iloczyn << endl; cout << "Najwieksza liczba wynosi: " << najw << endl; cout << "Najmniejsza liczba wynosi: " << najm << endl; return 0; }
|
|
docentpp |
» 2013-12-12 10:12:55 To mnożenie nalezy wykasować cout << "Podaj liczbe nr :"; cin >> a; iloczyn *= a;
Zły algorytm wyznaczania min, 1) dla ciągu zawierającego liczby ujemne jest dobry, 2) dla ciągu >=0 zero kończy obliczenie, i jest jednocześnie minimum zalożonym na początku,co jest błędem. |
|
Awantura Temat założony przez niniejszego użytkownika |
» 2013-12-17 18:23:02 Wydaje mi się, że powinienem dodać coś takiego, ale nadal nie wychodzi ;/
&& a!=0 |
|
pekfos |
» 2013-12-17 18:28:50 Wywaliłeś wskazaną linię i poprawiłeś algorytm? |
|
Awantura Temat założony przez niniejszego użytkownika |
» 2013-12-17 19:25:16 Tak, poprawiłem.
|
|
pekfos |
» 2013-12-17 19:30:53 I działa? Jak nie, podaj kod i opisz problem. |
|
leon_w |
» 2013-12-17 19:32:33 wg mnie działa dobrze. Tylko za najm podstawiasz "0", więc jeśli nie podasz minusowej, to najm = 0. |
|
Awantura Temat założony przez niniejszego użytkownika |
» 2013-12-17 19:36:55 Ale 0, ma być znacznikiem końca, a nie wartością ciągu ;/ |
|
« 1 » 2 3 |