• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed C++, program liczący liczby parzyste

VPS Starter Arubacloud
0 głosów
8,016 wizyt
pytanie zadane 5 lipca 2019 w C i C++ przez martin1724 Użytkownik (690 p.)
zamknięte 8 lipca 2019 przez martin1724
#include <iostream>
using namespace std;
int main()
{
    int n, ile_parzystych, ile_nieparzystych, liczba;
    cin >> n;
    for (int i=1; i<=n; i++)
    {
        cin >> liczba;
        if (liczba % 2 == 0)
        {ile_parzystych++;}
        else
        {ile_nieparzystych++;}
    }
    cout << " Liczba parzystych to: " << ile_parzystych;
    cout << " Liczbe nieparzystych to :" << ile_nieparzystych;
    return 0;

}

Cześć! Krótkie pytanie, czemu program podaje mi liczbe liczb nieparzystych jak i parzystych niezgodną z "prawdą". Przy wpisaniu 3 liczb w tym 1 parzystej, liczba liczb parzystych jest 7 cyfrowa. Z góry dziękuje za wyłapanie błędu.

komentarz zamknięcia: Znalezione rozwiązanie
komentarz 5 lipca 2019 przez tkz Nałogowiec (42,020 p.)
Ustaw ile_parzystych, ile_nieparzystych na 0. Bez wyzerowania zmiennych znajdują się tam śmieci.
4
komentarz 5 lipca 2019 przez Chess Szeryf (76,710 p.)
Odpowiedzi piszemy w odpowiedziach, zgłaszam. To już nie pierwszy wątek w którym się udzielasz w sekcji komentarzy.
komentarz 5 lipca 2019 przez tkz Nałogowiec (42,020 p.)
I co związku z tym? Może ktoś wyjaśni dlaczego znajdują się tam śmieci. Ja po prostu podałem najprostsze rozwiązanie.
3
komentarz 5 lipca 2019 przez Chess Szeryf (76,710 p.)
Wprowadzasz zamieszanie na forum albo się dostosujesz albo możesz się pożegnać z forum. Zależy to przede wszystkim od administracji. Teraz pozostanie najprawdopodobniej rozwiązany temat bez odpowiedzi, która mogłaby być uznana za najlepszą.
komentarz 5 lipca 2019 przez mrspock1 Mądrala (6,420 p.)

@martin1724,
 Jeśli program nie jest ćwiczeniowy to zwróć uwagę na to że mając zakres, jego początek i koniec, możesz od razu wyliczyć ile w tym zakresie jest jakich liczb, bez wykonywania być może bardzo dużej ilości obliczeń.

1
komentarz 5 lipca 2019 przez Arkadiusz Waluk Ekspert (289,150 p.)
Zgadzam się z przedmówcami. @tkz nie wiem czy masz jakieś postanowienie, aby pisać tylko komentarze czy co, bo nie masz ani jednej odpowiedzi na koncie. Jeśli tak to zaprzestań. Chodzi o wspomniany porządek. Coś, co dotyczy danego tematu i idzie w stronę jego rozwiązania (nawet jeśli nie jesteś pewien lub uważasz, że nie będzie to odpowiedź idealna), ma być pisane jako odpowiedź. Jeśli ktoś będzie miał lepszą propozycję, to również doda ją jako odpowiedź i pytający wybierze tę, która dla niego będzie najbardziej pomocna. Komentarze do pytań służą do tematów pobocznych, np. gdy nie znasz odpowiedzi na pytanie, ale chcesz zwrócić uwagę na jakiś fakt dotyczący danego zagadnienia. Dla porządku tego należy się trzymać, bo robi się bałagan jaki mamy tutaj. To pytanie nie ma żadnej konkretnej odpowiedzi, choć zostało rozwiązane. Odpowiedzią jest wpis autora, że działa. A to żadna odpowiedź, bo odpowiedź powinna rozwiązywać problem, odpowiadać na niego. Teraz w odpowiedzi jest informacja, że działa, ale nie wiadomo jak. Widzisz w tym jakąś logikę? Ja nie, więc dostosuj się do panujących zasad.
komentarz 6 lipca 2019 przez tkz Nałogowiec (42,020 p.)

nie wiem czy masz jakieś postanowienie, aby pisać tylko komentarze 

ogólnie to tak, ale skoro nie mogę, to będę odpowiadał "normalnie"... 

komentarz 6 lipca 2019 przez Arkadiusz Waluk Ekspert (289,150 p.)
Ponawiam pytanie: widzisz w tym co opisałem, na przykładzie tego tematu, jakąś logikę? Z ciekawości chętnie się dowiem jaki sens ma to postanowienie i do czego ma dążyć. Cieszy mnie Twoje zaangażowanie, jak każdego innego, jeśli sobie lubisz robić postanowienia to też nic mi do tego, tyle że tym postanowieniem psujesz ogółowi logikę i porządek na forum, więc w tym momencie musimy się wtrącić i to przerwać.
komentarz 6 lipca 2019 przez tkz Nałogowiec (42,020 p.)

nie wiem czy masz jakieś postanowienie, aby pisać tylko komentarze 

ogólnie to tak, ale skoro nie mogę, to będę odpowiadał "normalnie"... 

Postanowienie takie, nic specjalnego

1 odpowiedź

0 głosów
odpowiedź 5 lipca 2019 przez martin1724 Użytkownik (690 p.)
dziękuje, działa. A wiadomo czym to jest spowodowane?
1
komentarz 5 lipca 2019 przez tkz Nałogowiec (42,020 p.)
Tak pokrótce. Definicja zmiennej, zajmujesz jakiś kawałek pamięci RAM, dla int to chyba 16 bitów, coś tam było wcześniej, i to własnie znajduje się w tej zmiennej, dlatego trzeba ją wyzerować przed tym. Jak znajdę coś dokładnego, to Ci podeśle.
komentarz 5 lipca 2019 przez tkz Nałogowiec (42,020 p.)

http://www.cplusplus.com/doc/tutorial/variables/

Nie widziałem tam tego, ale dodam jeszcze od siebie, że zmienne globalne są z automatu zerowane i statyczne.

Edit: 

Dlaczego są zerowane: https://stackoverflow.com/questions/14049777/why-are-global-variables-always-initialized-to-0-but-not-local-variables

Podobne pytania

+1 głos
2 odpowiedzi 959 wizyt
pytanie zadane 30 marca 2021 w C i C++ przez hubibubi Nowicjusz (130 p.)
0 głosów
1 odpowiedź 365 wizyt

93,023 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,368 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...