Siema, wytłumaczyłby mi ktoś na jakiej zasadzie pętla while w poniższym programie się kończy?? Oraz dlaczego na końcu zmienna "ile" za każdym razem ma wartość 0?? Chodzi mi o ostatnią instrukcję. Dlaczego np. jak wpisuje: ile = ile - 3; program wypisuje gwiazdki w nieskończoność?
std::cout << "Ile gwiazdek ma miec kapitan ? : "; std::cin >> ile; std::cout << "\n No to narysujmy wszystkie " << ile << " : ";
//pętla while rysująca gwiazdki while(ile) { std::cout << "*"; ile = ile - 1; } //na dowód, że miał prawo przetrwać pętlę std::cout << "\n Teraz zmienna ile ma wartosc " << ile;
@InterferonAlfa_STG: dzięki, już rozumiem, czemu w ostatniej instrukcji "ile" wynosi 0, ale nadal nie rozumiem czemu akurat dla ile = ile - 1 pętla się kończy?
@tomekszz: bo w kazdej iteracji (obrocie, wykonaniu) petli zmienna ile sie zmniejsza o -1 ? Wynika z tego ze ile by w zmiennej ile nie bylo na poczatku to petla wykona sie tyle razy az dojdzied o 0 bo bedzie falsz Nie wiem czego nie rozumiesz, ale pokaz skrypt z ktorego sie uczysz. Chyba dam Ci lepszy
aa, czyli jak przypisze do int-a np 5, to te gwiazdki będą mi się wypisywały po kolei do tego działania aż osiągnie fałsz, bo będzie tak jakby: 4,3,2,1,0 czyli wypisze się 5 gwiazdek na ekranie. Dobrze rozumiem?
Kod;
#include
int main()
{
int ile;
std::cout << "Ile gwiazdek ma miec kapitan ? : ";
std::cin >> ile;
std::cout << "\n No to narysujmy wszystkie " << ile << " : ";
//pętla while rysująca gwiazdki
while(ile)
{
std::cout << "*";
ile = ile - 1;
}
//na dowód, że miał prawo przetrwać pętlę
std::cout << "\n Teraz zmienna ile ma wartosc " << ile;
}
#c++ #c #programowanie
zmień warunek na:
while(ile > 0)
A dodatnie to true
Wynika z tego ze ile by w zmiennej ile nie bylo na poczatku to petla wykona sie tyle razy az dojdzied o 0 bo bedzie falsz
Nie wiem czego nie rozumiesz, ale pokaz skrypt z ktorego sie uczysz. Chyba dam Ci lepszy