Koniec pętli wraz z końcem wpisywania zmiennej
Ostatnio zmodyfikowano 2015-08-07 10:38
bulbulator Temat założony przez niniejszego użytkownika |
Koniec pętli wraz z końcem wpisywania zmiennej » 2015-08-06 22:23:35 Zacząłem sobie rozwiązywać zadania ze strony 'polski SPOJ' i miałem taką oto treść zadania: Napisz program, który oblicza sumę pojawiających się na wejściu liczb. Wejście Na wejście programu podana zostanie pewna nieokreślona, ale niewielka ilość małych liczb całkowitych (z zakresu -100..100). Poszczególne liczby zostaną rozdzielone znakiem nowej linii. Wyjście Na wyjściu ma się pojawić ciąg liczbowy, którego i-ta pozycja jest równa sumie i pierwszych wczytanych z wejścia liczb. Poszczególne liczby należy rozdzielić znakami nowej linii. Przykład Wejście: 6 8 -3 Wyjście: 6 14 11 Napisałem taki kod: #include <iostream> using namespace std;
int main() { int a = 0; int tab[ 100 ]; int wynik = 0; for(;; ) { a++; cin >> tab[ a ]; wynik = tab[ a ] + wynik; cout << wynik << endl; } return 0; }
i mi bezczelnie błąd wyrzuca a wszystko dobrze jest, ale wydaje mi się że że chodzi o to że pętla jest nieskończona. I tu moje pytanie: jak zakończyć pętle skoro nie wiem ile komputer będzie wpisywał liczb? Bo raczej nie jest to nic innego, tak myślę. |
|
JMII89 |
» 2015-08-06 22:37:56 A jeśli ktoś napisze -5 to co dodasz 5 do wyniku ? I się pytasz czemu ci bezczelnie błąd wyrzuca.. Może wczytuj liczby do stringa i sprawdź czy jest minus . Jeśli tak to odejmij od sumy a jeśli plus to dodaj. |
|
michal11 |
» 2015-08-06 23:42:39 Możesz wczytywać dopóki coś można wczytać while( cin >> liczba ) . Nie potrzebna ci jest tablica, wystarczy zmienna do sumowania dotychczasowych wyników i zmienna do wczytania liczby. Schemat programu powinien wyglądać tak: 1. wczytaj liczbę 2. dodaj ją do zmiennej przechowującej dotychczasowa sumę 3. wypisz dotychczasową sumę powrót do pkt 1 A jeśli ktoś napisze -5 to co dodasz 5 do wyniku ? |
Nie, dodam -5 do wyniku. |
|
JMII89 |
» 2015-08-06 23:55:07 Już rozumiem ;x. |
|
bulbulator Temat założony przez niniejszego użytkownika |
» 2015-08-07 10:38:48 ok, super, dzięki za pomoc |
|
« 1 » |