Skocz do zawartości

Długość ciągu liczbowego


Idź do rozwiązania Problem ogarnięty przez Luki91,

Recommended Posts

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 13

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ć.
 

Link to post
Share on other sites

 

 

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 :P

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.

  • Popieram 1
Link to post
Share on other sites

aww zupełnie o tym zapomniałem :D 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?

Link to post
Share on other sites
  • Rozwiązanie
np.: if(a<0) d++ //(zliczanie liczb ujemnych)        else e++ //(zliczanie liczb dodatnich)

 

A co jeśli ktoś wpisze zero? :P 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 przez Luki91
  • Popieram 1
Link to post
Share on other sites

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!!

Link to post
Share on other sites

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ą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...