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

prosze o wytłumaczenie zagnieżdżenia pętli for

Object Storage Arubacloud
0 głosów
1,808 wizyt
pytanie zadane 21 października 2015 w C i C++ przez dichloroetylobenzen Użytkownik (850 p.)

Hej, mam problem ze zrozumieniem działania pętli w pętli for w algorytmie rysującym rosnący trójkąt z gwiazdek, np trójkąt po podaniu liczby 3 ma wyglądać mniej więcej tak:

*

**

***   Metodą prób i błędów napisałąm kod, trojkat rysuje, ale nie dokońca wiem czemu

for (int i=1; i<liczba_gwiazdek; i++)
   { for(int j=1; j=<i; j++)
        cout <<"*";
        cout<<endl; }

rozumiem że najpierw nadaje wartość i=1, następnie sprawdzane jest czy i jest mniejsze od liczby gwiazdek podanej przez użytkownika, potem wchodzi w drugą pętlę, j=1, 1=<1 więc rysowana jest * i przejscie do nowej linii, ale potem nie rozumiem, dodawane jest 1 do wartości j oraz powrot do warunku z pierwszego for'a czy dodawane 1 do i,? bo jeśli w drugim przebiegu mam j=2 to znów wg mojej logiki powinna się narysowac tylko jedna gwiazdka i powinnam dostać te trzy gwiazdki tylko w pionie a jednak rysują się koło siebie mino że wszedzie na końcu jest endl

proszę o naprowadzenie :)

1 odpowiedź

+1 głos
odpowiedź 21 października 2015 przez furas Maniak (53,800 p.)
wybrane 21 października 2015 przez dichloroetylobenzen
 
Najlepsza

Zamiast wypisywania gwiazdki wstaw

cout << "i = " << i << "   j = " << j;

a zobaczysz jakie wartości przyjmują te dwie zmienne 

 

Jeśli po `for/if/else/while` nie użyjesz { }  to  wykonuje tylko tą jedną instrukcję która jest zaraz pod `for/if/else/while`. 

Tak więc `endl` nie jest częścią wewnętrznej pętli `for`.

---

EDIT: Gdybyś miał poprawnie sformatowany kod to byś widział, że jest on równoważny z

for (int i=1; i<liczba_gwiazdek; i++)
{ 
    for(int j=1; j=<i; j++)
    {
        cout <<"*";
    }
    cout<<endl; 
}

 

komentarz 21 października 2015 przez dichloroetylobenzen Użytkownik (850 p.)
ok już zrozumiałam wszystko, dziękuje :)

Podobne pytania

0 głosów
1 odpowiedź 301 wizyt
0 głosów
1 odpowiedź 292 wizyt
0 głosów
4 odpowiedzi 324 wizyt
pytanie zadane 16 listopada 2016 w C i C++ przez Apper97 Obywatel (1,380 p.)

92,580 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...