Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Liczby większe od 0 oraz ich ilość [tablica]

Werpet 08 Wrz 2016 14:04 1374 8
  • #1 08 Wrz 2016 14:04
    Werpet
    Poziom 4  

    Witam, potrzebuję pomocy przy programie, który pobiera od nas 10 liczb i zapisuje je do tablicy. Potem program ma wskazać liczby większe od 0 oraz ile ich jest. Mam problem i nie potrafię napisać odpowiedniego warunku i co mam napisać do wyświetlenia tych liczb oraz ich ilości?

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 8
  • #2 08 Wrz 2016 14:24
    JacekCz
    Poziom 35  

    Werpet napisał:
    ... Mam problem i nie potrafię napisać odpowiedniego warunku ... ?


    Co masz na myśli? Co próbowałeś?

    Kolego, nie wiem co Ci powiedzieć, cofnij się jakiegoś etapu, poczytaj konsekwentnie jakiś kurs, włóż wysiłek by zrozumieć linię po linii.

    WSZYSTKIE pytania się rozwiążą.

    rap. zaniżanie

    0
  • #3 08 Wrz 2016 14:43
    Werpet
    Poziom 4  

    Nie potrafię wyświetlić ilości liczb większych od 0, liczb większych od 0 oraz warunku dla tych liczb większych od 0.

    0
  • #4 08 Wrz 2016 15:03
    kinggustav
    Poziom 19  

    Masz już wczytanie liczb do tablicy tab. Musisz je wszystkie przejrzeć w pętli (pętlę też masz, ale pustą) i jeżeli jest taka jak chcesz to ją wyświetlasz (wypisujesz), a licznik pasujących liczb zwiększasz. Na koniec wypiszesz ten licznik i wszystko. Wynik programu mógłby być np. taki:
    2
    5
    8
    4
    7
    Znaleziono 5 liczb.
    Niestety zamienić ludzki język na język C++ musisz sam, bo tu zdaje się nie wolno dawać gotowców. Jak będzie źle to poprawimy.

    0
  • #5 08 Wrz 2016 15:29
    JacekCz
    Poziom 35  

    Werpet napisał:
    Nie potrafię wyświetlić ilości ...


    Divide et impera. Dziel problem na podproblemy *)

    a) wyselekcjonowanie
    b) wyświetlenie

    a) się pewnie zdekomponuje na
    a1) jaki kod (algorytm, brzmi to dumnie ale pewnie 2 linie)
    a2) jakie dane

    Mam Ci za złe, ze nawet własnych wątków nie przeczytałeś, tam jest wiele odpowiedzi zarówno a) jak i b)

    *) Niestety kopiowanie ZABIJA takie myślenie. Wszyscy szukają identycznego w przeszłości albo jelenia który napisze nowe.

    0
  • #6 08 Wrz 2016 18:22
    Krzysztof Gustaw
    Poziom 23  

    Witam!

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Edit: Sorry, ale został bug w wierszu if (tab[i] > 0; który teraz poprawiłem.

    0
  • #7 09 Wrz 2016 12:51
    Werpet
    Poziom 4  

    Za każdym razem wyświetla, że tylko jedna liczba jest większa od 0.

    Krzysztof Gustaw napisał:
    Witam!

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #8 09 Wrz 2016 13:22
    Krzysztof Gustaw
    Poziom 23  

    Dziwne, oto próbka testowa:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #9 20 Paź 2016 13:42
    MichalPie
    Poziom 4  

    Krzysztof Gustaw napisał:
    Dziwne, oto próbka testowa:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Dodałem do kodu jeszcze średnią którą chciałeś, musisz sobie same podstawy poćwiczyć Werpet bo podstawowe instrukcje typu if to leżą.

    Teraz tłumaczę :
    if (tab[i] > 0) jeżeli element tablicy o indexie i (bo i to twój iterator w forze ) jest większy od 0
    to
    wyświetlasz go "std::cout << tab[i] << '\n';" a następnie dodajesz sobie do zmiennej n +1 żeby wiedzieć ile tych liczb jest. "++ n;"

    Dodatkowo przy każdej kolejnej iteracji twojej pętli typu for dodałem Ci zmienną która sumuje Ci wszystkie elementy tablicy "srednia=srednia+tab[i];"

    a na samym końcu kodu dziele Ci to przez ilość liczb w tablicy i masz wyświetloną średnią.

    Przeanalizuj sobie to jeszcze raz i napisz najlepiej od nowa , żeby wiedzieć jak to działa.

    0