Zagnieżdżone pętle C++.

Zagnieżdżone pętle C++.
AR
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 9 lat
  • Postów:1
0

Jetsem początkujący w tych sprawach i mam problem ze zrozumieniem pętli zagnieżdżonych, a w szczególności tego przykładu. Nie mogę zrozumieć dlaczego wypisywana jest coraz większa liczba "*". Czy gdy x osiągnie większą wartość niż a, to w kolejnym powtórzeniu x wraca do wartości 1? Mógłby ktoś przeprowadzić ślad zmiennych? Przepraszam, że o takie trywialne rzeczy pytam.

Kopiuj
#include <iostream>

using namespace std;

int main()
{
    for( int a = 1; a <= 30; ++a )
    {
        for( int x = 1; x <= a; x++){
            cout << "*";
        }
        
        cout << endl;
    }
    return 0;
}
Craith
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 4 lata
  • Postów:146
0

Bo drukowanie znaku gwiazdki również jest w pętli, która jest w pętli.

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
2

a to iteracja pionowa, natomiast x to iteracja pozioma. Dlaczego tak jest? Zauważ, że gdybyś wyrzucił zagnieżdżoną pętlę to program wypisałby Ci na ekranie 30 znaków nowej linii czyli cout << endl; Te pętle działają w taki sposób, że jeżeli np. jesteś w linijce nr 3 (czyli a = 3) to ten warunek pętli wewnętrznej x <= a opisuje ile gwiazdek ma ona wydrukować i w tym wypadku wydrukuje trzy gwiazdki (poziomo gdyż nie ma tam znaku nowej linii). Ilość gwiazdek zmienia się w zależności od linijki, w której aktualnie jesteśmy.

edytowany 2x, ostatnio: grzesiek51114
AR
Dzięki za wytłumaczenie. Pomogło. :)
grzesiek51114
grzesiek51114
To jeszcze odfajkuj zamykając temat :)
KA
ale wysyp drukowania choinek. ludzie święta dopiero za 2 mies wiec ogarnijcie
grzesiek51114
grzesiek51114
@Karolina Niueee. To nie to. Po prostu studia się zaczęły :)
KA
to ale ci ćwiczeniowcy są nudni. wszyscy te same badziewne zadanka dają eh

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.