Czytam sobie o pętlach i próbuję narysować piramidę złożoną z gwiazdek o zadanej wysokości n.
Wykombinowałem coś takiego. Chcę zrobić to za pomocą 3 pętli for: jednej zewnętrznej odpowiedzialnej za wysokość piramidy i przejście do nowej linii i dwóch zagnieżdżonych. Pierwsza zagnieżdżona pętla odpowiadałaby za rysowanie pustych znaków , druga za gwiazdki. Rysując piramidę na kartce, zauważyłem (tak mi się przynajmniej wydaje) że gdy wysokość piramidy wynosi 2, program powinien rysować dwa znaki puste i jeden w drugim obiegu pętli. Z gwiazdkami odwrotnie. I na razie utknąłem.
Na próbę chciałem napisać instrukcję która wyświetlałaby poniższy wzór. Odpowiednik pustych pól przy n =2:
**
*
#include<iostream>
int main()
{ int liczba=0;
std:: cout<<"podaj wysokosc choinki"<<std::endl;
std:: cin>>liczba;
std:: cout<<std::endl;
for(int i=0;i<liczba;i++)
{
for(int j =0;j<liczba;j++)
{
std::cout<<"*";
}
std:: cout<<endl;
}
return 0;
}
I rysuje mi kwadrat 2*2
W tym miejscu chciałbym zapytać. Czy wartość zmiennej j po inkrementacji po pierwszym obiegu zostaje zapamiętana, czy liczenie j w drugim obiegu zaczyna się od nowa. Bo z programu wynika ze wykonywana jest druga możliwość.
Czy rozwiązanie z 3 pętlami jest akceptowalne teoretycznie ?
Z góry dziękuje za pomoc