Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pętla sterująca wierszem i kolumną

Ostatnio zmodyfikowano 2014-04-29 08:20
Autor Wiadomość
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.
C/C++
#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?
P-108870
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.
P-108888
bnk120
» 2014-04-28 23:15:00
Dodatkowo do tego co napisał Raptiler, stwórz odpowiedni warunek i gotowe.
P-108889
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.
P-108900
« 1 »
  Strona 1 z 1