Cześć, napisałem sobie program wyświetlający “połowe” choinki w konsoli za pomocą pętli for. Program działa, ale jak próbuje przepisać swój kod do pętli while to już nie działa.
Co jest nie tak?
#include
using namespace std;
int main()
{
int wysokosc;
char znak;
znak='*';
cout<<"Podaj wysokosc"<
cin>>wysokosc;
int i=1;
int j=1;
while(i<=wysokosc)
{
while(j<=i)
{
cout<
j++;
}
cout<<"\n";
i++;
}
system("pause");
return 0;
}
Mały błąd. Przed rozpoczęciem drugiej pętli while zeruj (w Twoim przypadku startuj za każdym razem od j=1).
To taka uwaga po szybkim debugowaniu “na oko”.
W pętli for miałeś tak, że samo za każdym razem startowało od wartości początkowej (podejrzewam, że od 1).
Taka dobra drobna podpowiedź programistyczna na przyszłość: lepiej pętle pisać od 0 do wartości oczekiwanej, ale ostre porównanie, np. tak:
int i;
for(i=0;i<10;i++) //wykona się 10 raz
for(i=1;i<=10;i++)//tez wykona się 10 razy, ale poprzednia konstrukcja jest lepsza przy pracy z tablicami i wektorami.
Dzięki wielkie, po dopisaniu j=1, wszystko śmiga. A i dziękuje za podpowiedź ws pętli. Narazie raczej rzadko korzystam z tablic (nie mówiąc już o wektorach), ale kiedyś napewno się to przyda.