Problem z inkrementacją w iloczynie liczb z danego przedziału.
Ostatnio zmodyfikowano 2015-11-03 23:25
melko27 Temat założony przez niniejszego użytkownika |
Problem z inkrementacją w iloczynie liczb z danego przedziału. » 2015-11-03 19:14:30 Jako zadanie domowe z informatyki dostałem do zrobienia program zliczający iloczyn liczb całkowitych z przedziału od <1,n>. Po wpisaniu w wszystkich instrukcji program zlicza tylko dwie pierwsze i ostatnią liczbę z przedziału: #include <iostream> using namespace std;
int main() { int n, s, i; cout << "n = "; cin >> n; s = 1; i = n; while( s > n ); { s++; i *= s; cout << i << endl; } cout << endl; return 0; }
|
|
carlosmay |
» 2015-11-03 20:16:22 zamykasz pętlę zaraz po warunku? Znak porównania też jest nie taki. |
|
melko27 Temat założony przez niniejszego użytkownika |
» 2015-11-03 20:22:19 Sorry :) wcześniej próbowałem to wykombinować za pomocą do...while i zapomniałem o średniku. Co nie zmienia faktu, że nadal nie działa. |
|
carlosmay |
» 2015-11-03 20:27:41 Co nie zmienia faktu, że nadal nie działa. |
Była konkretna i kompletna odpowiedź. Czytamy całość;) |
|
melko27 Temat założony przez niniejszego użytkownika |
» 2015-11-03 20:57:39 Nawet po zmianie znaku na przeciwny i usunięciu średnika gdzieś jest błąd, gdyż w przedziale <1,n>, gdzie n=5 program jako iloczyn podaje 600 zamiast 120 czyli dwa razy mnoży ostatnią liczbę w tym przedziale.
|
|
carlosmay |
» 2015-11-03 23:03:43 Rozpisz kod pętli na kartce i przeanalizuj każdy krok. |
|
melko27 Temat założony przez niniejszego użytkownika |
» 2015-11-03 23:25:54 OK! Problem solved w pętli "do" wystarczyło zamienić miejscami działanie z inkrementacją. Dzięki za pomoc :) |
|
« 1 » |