wypisywanie danych
Ostatnio zmodyfikowano 2014-11-11 23:06
Antu98 Temat założony przez niniejszego użytkownika |
wypisywanie danych » 2014-11-10 15:57:31 Prosze o pomoc w zadaniu: Zadanie: POM 2. Pomiary Wstęp do programowania, lekcja 5. Dostępna pamięć: 256 MB. 8-14.11.2014 Czujnik w muzeum w ciągu dnia wykonał serię regularnych pomiarów poziomu zanieczys zczenia powietrza w pomieszczeniu. Wiadomo, że wizyta każdego zwiedzającego powoduje wzrost zanieczyszczenia po wietrza. Dyrektor muzeum chciałby oszacować, ilu zwiedzających było tego dnia w muzeum. Napisz program, który obliczy, ile istotnie różnych pomiarów o dodatnim poziomie zanieczyszczenia zarej estrował czujnik. Wejście Wejście składa się z co najmniej dwóch wierszy. Każdy wiersz zawiera jedną liczbę całk owitą. Pierwszy wiersz zawiera liczbę 0 – wynik pierwszego pomiaru czujnika. Kolejne wiersze zawierają k olejne wyniki pomiarów, będące nieujemnymi liczbami całkowitymi. Wyniki pomiarów są podane w porządk u niemalejącym. Ostatni wiersz zawiera liczbę − 1, oznaczającą koniec wejścia. Wejście będzie zawierać co najwyżej 100000 liczb. Żadna liczba na wejściu nie przekroczy 100 0000000. Wyjście Jedyny wiersz wyjścia powinien zawierać liczbę różnych liczb dodatnich występuj ących na wejściu. Jeśli wejście nie zawiera żadnej liczby dodatniej, poprawnym wynikiem jest 0. Przykład Dla danych wejściowych: 0 0 4 7 7 9 10 10 -1 poprawnym wynikiem jest:4
Zaczalem tak: #include <iostream> using namespace std;
int main() { int i; int g; cin >> i; while (i != -1) {
} }
probowalem roznych rozwiazan ale juz nie mam pomyslu jak to zrobic.. zadanie powinno buc wykonane petla while |
|
Tomek_z_W11 |
» 2014-11-11 23:06:53 Pozwoliłem sobie wyrzucić zmienną i, bo była zbędna.
#include <iostream> using namespace std;
int main() { int licznik = 0; //zliczania
int g, g_pomoc; //do pomiaru powietrza
cin >> g; //pobranie pierwszego pomiaru g_pomoc=g; //zapamiętanie tego pomiaru
while (g != -1) { cin >> g; //pobranie drugiego pomiaru if(g > g_pomoc) //sprawdzenia pomiarów - pierwszego z drugim (poprzedniego z kolejnym) { licznik++; //jeżeli kolejny pomiar jest większy od poprzedniego (na początku porównujemy drugi z pierwszym), to //zwiększamy licznik //jeżeli pomiary będą równe, nie wejdziemy do ifa, czyli licznik nie zostanie zwiększony; g_pomoc=g; //zapamiętujemy kolejny pomiar, który przy następnym obrocie pętli stanie się tym poprzednim pomiarem } }
cout << licznik << endl; } |
|
« 1 » |