Obliczanie tylko 5 pierwszych liczb ciagu.
Ostatnio zmodyfikowano 2014-12-17 23:10
2630944 Temat założony przez niniejszego użytkownika |
Obliczanie tylko 5 pierwszych liczb ciagu. » 2014-12-17 13:51:15 Czemu jeśli daję #include<iostream> int main() { using namespace std; int a, suma, c; cout << "\n\n Program ktory oblicza i wyswietla sume 5 pierwszych liczb dowolnego ciagu zakonczonego 0\n\n"; cout << " Wprowadz dowolny ciag liczb zakonczony 0 : "; cin >> a; suma = 0; for( c = 0; c < 5; c++ ) { while( a != 0 ) { suma += a; cin >> a; } } cout << "\n\n\n Suma 5 pierwszych wyrazow ciagu wynosi " << suma; cout << "\n\n\n\n"; system( "Pause" ); } Nie oblicza mi tylko 5 liczb, ale liczy az do 0 ? Przecież jest funkcja for, ale tak jakby nie działała, ponieważ instrukcja w klamrze powinna być wykonana tylko 5 razy ? |
|
2630944 Temat założony przez niniejszego użytkownika |
F5 » 2014-12-17 15:18:52 Odswiezam |
|
Rashmistrz |
» 2014-12-17 18:34:42 Przecież jest funkcja for |
"for" jest pętlą... :/ Przecież jest funkcja for, ale tak jakby nie działa, ponieważ instrukcja w klamrze powinna być wykonana tylko 5 razy ? |
Nie oblicza mi tylko 5 liczb, ale liczy az do 0 ? |
Zagnieździłeś pętle, a zadziała to tak jak zaprogramowałeś. Ta wewnętrzna pętla będzie działać aż nie podasz zera tak jak jest w warunku: while( a != 0 ) { suma += a; cin >> a; } a później for wykonuje 4 kolejne "jałowe" pętle, bo nie następuje wejście w pętlę while, bo nigdzie później nie zmieniasz wartości "a" na inną niż zero... |
|
2630944 Temat założony przez niniejszego użytkownika |
POPRAWA » 2014-12-17 19:46:40 Czyli w jaki sposób zrobić, aby dodało tylko 5 pierwszych liczb ? |
|
Rashmistrz |
» 2014-12-17 20:39:20 Emmmmm? Usunąć stamtąd pętlę "while" bez usuwania jej zawartości!? |
|
2630944 Temat założony przez niniejszego użytkownika |
Ale jak wprowadzę 1 2 3 0 5 » 2014-12-17 20:49:29 Ale jak wprowadzę 1 2 3 0 5 to będzie liczyć 1+2+3+0+5 a powinno się na 1+2+3 skończyć bo ciąg ma być zakończony 0. |
|
Rashmistrz |
» 2014-12-17 21:51:56 Pomyśl trochę...
Najpierw zrozum to co nie wypaliło w pierwszym pomyśle i to popraw... |
|
2630944 Temat założony przez niniejszego użytkownika |
OK » 2014-12-17 22:45:55 No bez tego działa, ale jeśli wprowadzę ciąg 1 0 4 5 5 3 3 2 2 ... to już nie bardzo bo powinna suma wyjsc 1 a wyjdzie 15, bo ciag nie zatrzyma się na 0. |
|
« 1 » 2 |