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

dzialania matematyczne w petlach

0 głosów
1,142 wizyt
pytanie zadane 28 czerwca 2016 w C i C++ przez 1naswiecie Początkujący (410 p.)
edycja 28 czerwca 2016 przez 1naswiecie

Hej, mam pytanie. Jestem początkującym w języku C++ chciałbym żeby ktoś mi wytłumaczył jedną rzecz.
Kod do mojego pytania poniżej. mamy kod:

int rok_suma=0;

int all_suma=0;

for (int y=0; y<3; y++)
    {
        rok_suma=0;
        cout<<"\nRok " << (y+1) << ". \n";
        for (int i = 0; i<12; i++)
        {
            cout << miesiac [i] <<": "<< sprzedaz[y][i] << endl; uzytkownika
            rok_suma+=sprzedaz[y][i]; // sumowanie roku
            all_suma+=sprzedaz[y][i]; // cala suma sprzedazy
        }
        cout << "Sprzedaz w roku: PLN "<< rok_suma << endl; 
    }
    cout << "Sprzedaz laczna za wszystkie lata: " << all_suma << endl;
 

1.Chodzi mi dokladnie o kwestie int rok_suma = 0 dlaczego musimy przypisać to zero do zmiennej?

2. Do pętli dodano rok_suma=0;

for (int y=0; y<3; y++)
    {
        rok_suma=0;

Co rok_suma=0; zmienia w tej pętli?
usunięcie tego z pętli spowodowało że dostałem takie same wyniki przy obliczeniach, gdy ponownie wkleiłem to do pętli uzyskałem prawidłowo wynik obliczający ROK i SUMĘ ZA WSZYSTKIE LATA.


dzieki

 

2 odpowiedzi

+1 głos
odpowiedź 28 czerwca 2016 przez Eerie Mądrala (7,130 p.)
wybrane 28 czerwca 2016 przez 1naswiecie
 
Najlepsza
Zero przypisujemy do zmiennej w C++, ponieważ gdy nie przypiszemy żadnej wartości, wtedy niektóre kompilatory przypisują zmiennej losową wartość.

A w tym przypadku to chyba normalne że resetujesz zmienną na początku pętli żeby nie zostały w niej dane z poprzedniego wykonania pętli. W końcu liczysz za jeden rok.

I trochę nieskładnie napisałes, więc nie wiem o co ci chodzi. Nie rozumiesz tego kodu?

Nie ma czegoś takiego jak pętla x albo pętla y. Rozumiesz jak działa pętla for? Pętla for działa tak, że najpierw tworzysz jakąś zmienną (w tym przypadku "y" w jednej pętli albo "i" w drugiej pętli), potem ustanawiasz warunek i pętla będzie się wykonywała tak długo jak jest on spełniony (jedna pętla ma warunek y<3 czyli będzie się wykonywała tak długo jak wcześniej ustanowiona zmienna jest mniejsza od 3, druga będzie się wykonywała tak długo jak wcześniej ustanowiona zmienna i jest mniejsza od 12), a potem jeszcze ustalasz co ma się dziać za każdym razem kiedy instrukccja w pętli zostanie wykonana (w tym przypadku dana zmienna zwiększa się o 1).

Poza tym zauważ, że tutaj masz jedną pętlę w drugiej pętli.

Ta pętla ze zmienną y wykona się 3 razy (pętla for zawsze się wykona conajmniej raz - tworzysz zmienną, pętla wykonuje się raz, a potem sprawdzany jest warunek, dzieje się to co się ma dziać po każdorazowym wykonaniu instrukcji w pętli i jeśli warunek jest ok to pętla się wykona drugi raz).

I podczas każdego z tych trzech wykonań pętli ze zmienną y zostanie 12 razy wykonana pętla ze zmienną i. To jest pętla w pętli, to się fachowo nazywa zagnieżdżone pętle. Pętla ze zmienną i zostanie łącznie wykonana 36 razy, po 12 razy na każde wykonanie pętli ze zmienną y.

Naucz się dobrze jak działa pętla for to sam zrozumiesz odpowiedzi na swoje pytania.
komentarz 28 czerwca 2016 przez 1naswiecie Początkujący (410 p.)
Dzięki Ci bardzo! Rozumiem jak działa pętla określałem to "Y" "I" żeby opisać o co mi chodzi w kodzie, ale i tak przy programowaniu jest to trudne. Odpowiedziałeś na moje pytanie dokładnie tak jak chciałem. Dzięki!
0 głosów
odpowiedź 28 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
1. Bo to pierwsza liczba i kompilator może pobrać losową liczbę jeśli nic nie przypiszesz

2. Warunek w pętli jest błedny y<3, czyli tak naprawdę y wykona się jeżeli jest mniejszy od 3, czyli nie ma błedu.

3. Używasz y i i jako tablic i popatrz, że masz 2 pętle.

Jeżeli za rok suma masz na myśli sprzedaż roczną to obojętnie jak to pomnożysz to i tak zawsze będzie 0. Popraw obie pętle.

 

Ale poczekaj na odpowiedź kogoś kto już siedzi w c]] dłużej, bo ja jestem zielony

Podobne pytania

0 głosów
1 odpowiedź 1,571 wizyt
pytanie zadane 8 września 2021 w C i C++ przez Piotr Zenger Nowicjusz (120 p.)
0 głosów
4 odpowiedzi 4,167 wizyt
pytanie zadane 27 lutego 2019 w C i C++ przez de1vee Nowicjusz (220 p.)
+1 głos
4 odpowiedzi 667 wizyt
pytanie zadane 4 stycznia 2022 w C# przez niezalogowany

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...