dan76 26 Napisano 6 Stycznia 2014 Udostępnij Napisano 6 Stycznia 2014 Hej, na zadanie do domu dostałem napisanie programu: Dane WE: n - długość ciągu liczbowego n>0 czyli wpisanie n liczb z klawiatury.Wyjście (podam te podpunkty z którymi mam problemy)-ile wpisano liczb dodatnich, a ile ujemnych-Ile było liczb podzielnych przez 7 (mniej więcej wiem o co chodzi ale w końcu do tego nie doszedłem)-Ile było liczb parzystych/nieparzystych-Nie sumować liczb podzielnych przez 13Najbardziej zależy mi na tym żeby na podstawie wpisanej z klawiatury zmiennej "n" wpisać n liczb z klawiatury - bez tego nie mogę zacząć pisać. Cytuj Link to post Share on other sites
Luki91 157 Napisano 6 Stycznia 2014 Udostępnij Napisano 6 Stycznia 2014 Najbardziej zależy mi na tym żeby na podstawie wpisanej z klawiatury zmiennej "n" wpisać n liczb z klawiatury - bez tego nie mogę zacząć pisać. pobierz n for i=0 to n do pobierz liczbę Nie podałeś o jaki język chodzi, więc napisałem ogólnie, w pseudokodzie A co do reszty zadania, to podczas pobierania każdej liczby sprawdzasz warunki (czy dodatnia/ujemna, czy podzielna przez 7, czy parzysta/nieparzysta, czy podzielna przez 13) i inkrementujesz odpowiednie zmienne. 1 Cytuj Link to post Share on other sites
dan76 26 Napisano 6 Stycznia 2014 Autor Udostępnij Napisano 6 Stycznia 2014 aww zupełnie o tym zapomniałem Chodzi o C++Więc doszedłem do tego (w sumie to samo jest już napisane wyżej) że na podstawie n robię pętle for(int i=1; i<=n;i++). I po każdym zapętleniu raz się wpisuję liczbę i program sprawdza czy są ujemne/dodatnie/podzielne przez 7 itp np.: if(a<0) d++ //(zliczanie liczb ujemnych) else e++ //(zliczanie liczb dodatnich) Czyli teraz jedyny problem jaki pozostał czyli jak sumować liczby bez liczb podzielnych przez 13? Cytuj Link to post Share on other sites
Rozwiązanie Luki91 157 Napisano 6 Stycznia 2014 Rozwiązanie Udostępnij Napisano 6 Stycznia 2014 (edytowane) np.: if(a<0) d++ //(zliczanie liczb ujemnych) else e++ //(zliczanie liczb dodatnich) A co jeśli ktoś wpisze zero? W twoim programie zostanie zliczone jako liczba dodatnia, a 0 nie jest liczbą dodatnią. Czyli teraz jedyny problem jaki pozostał czyli jak sumować liczby bez liczb podzielnych przez 13? if (num%13 != 0) { suma+=num; } PS Kod programu zamieszczaj w odpowiednim znaczniku (tak jak w moich postach) - ikonka <> w edytorze. Edit: W sumie to nie rozumiem, czy "Nie sumować liczb podzielnych przez 13" znaczy po prostu nie sumować, czy może "nie wliczać ich do liczb dodatnich/ujemnych/parzystych/itp...". Bo jeśli to drugie, to rozwiązanie będzie zupełnie inne. Edytowane 6 Stycznia 2014 przez Luki91 1 Cytuj Link to post Share on other sites
dan76 26 Napisano 6 Stycznia 2014 Autor Udostępnij Napisano 6 Stycznia 2014 Jedno z poleceń jakie ma wykonywać program to suma wpisanych liczb (nie pisałem tutaj bo potrafię to zrobić). I w pewnym momencie program musi wypisać sumę nie wliczając w nią liczb podzielnych przez 13 Cytuj Link to post Share on other sites
Luki91 157 Napisano 6 Stycznia 2014 Udostępnij Napisano 6 Stycznia 2014 No czyli dobrze napisałem. Sprawdzasz czy liczba jest podzielna przez 13 i pod tym warunkiem sumujesz. 1 Cytuj Link to post Share on other sites
dan76 26 Napisano 6 Stycznia 2014 Autor Udostępnij Napisano 6 Stycznia 2014 Mam kolejny problem. Przy zliczaniu liczb dodatnich/ujemnych i zer zlicza mi tylko liczby dodatnie. if(suma>0) d++; else if(suma<0) u++; else zero++; edit. ok już udało mi się to naprawić. Jak zwykle głupi błąd - sprawdzałem całą sumę a nie liczbę przed chwilą wprowadzoną. edit. Myślę że już skończyłem, dzięki wielkie za pomoc!! Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.