Pętla sterująca wierszem i kolumną
Ostatnio zmodyfikowano 2014-04-29 08:20
adeater Temat założony przez niniejszego użytkownika |
Pętla sterująca wierszem i kolumną » 2014-04-28 19:53:30 Mam nadzieje, że trafiłem na to dobre forum, nauczające. Dostałem zadanie, w którym mam zaimplementować pętle w pętli (while) Chodzi o wyświetlenie połowy choinki z gwiazdek i mój problem polega na tym, że wyświetla się tylko jedna kolumna, po 1 gwiazdce w wierszu, zamiast zwiększać je o 1. Nie potrafie nakazać komendzie printf "myśleć". Sam też zbyt nie potrafie. #include <cstdio>
int main()
{ int i = 0; while( i <= 5 ) { while( i <= 5 ) { printf( "*\n" ); i++; } i++; } return 0; } Mógłby mnie ktoś pokierować i wytłumaczyć jak to powinno być wykonane? |
|
Raptiler |
» 2014-04-28 23:09:09 Strasznie to nieczytelne, ale ok ja na twoim miejscu użyłbym pętli for, wydaje mi się że na początku jest łatwiejsza w obsłudze. Co nie znaczy oczywiście że nie da się tego zrobić w pętli while.
Twoim głównym błędem jest to że Twoje dwie pętle while bazują na jednej zmiennej "i", a więc dodatkowo każda pętla zwiększa ją o 1, co powoduje że łącznie zwiększa się o dwa, co jest raczej nie pożądane w tym przypadku. Zrób oprócz tego drugą zmienną np. j następnie w jednej z pętli zainicjuj zmienną i a w drugiej j, powinno Ci to trochę pomóc. |
|
bnk120 |
» 2014-04-28 23:15:00 Dodatkowo do tego co napisał Raptiler, stwórz odpowiedni warunek i gotowe. |
|
alixir |
» 2014-04-29 08:20:30 Mało tego. Przy każdym przejściu pierwszej pętli zmienna z drugiej pętli (np. wspomniana 'j') musi być zerowana, bo inaczej druga pętla wykona się tylko 1x w pierwszym obiegu pierwszej pętli. |
|
« 1 » |