[C] Prosta funkcja for
Ostatnio zmodyfikowano 2013-11-25 23:59
only Temat założony przez niniejszego użytkownika |
[C] Prosta funkcja for » 2013-11-25 23:26:54 Może ktoś mi wytłumaczyć, czemu kompilator pomija mi pętle pierwszą? Po podaniu np. liczb 3 i 5, powinno wyskoczyć takie coś: ***** ***** ***** a wyświetla tylko jedną linijkę: ***** Takie proste gwiazdki, oto kod: ///////////////////////////////// #include <stdio.h>
int main() { int a; int b; scanf( "%d", & b ); scanf( "%d", & a ); for( a; a > 0; a-- ) { for( b; b > 0; b-- ) printf( "*" ); } return 0; }
|
|
kynol |
» 2013-11-25 23:36:57 Po pierwsze to nie funkcja tylko petla. Po drugie nie musisz deklarowac zmiennych a, b na poczatku programu, mozesz to robic w samej petli tak: for( int i = 0; i < n; i++ )
Poza tym, zapamietaj jedna podstawowa rzecz, petla wykonuje sie tylko wtedy jesli warunek jest prawdziwy czyli ma on wartosc true, przerywa sie jesli jest falszywy i ma wartosc false. Tyle ci chyba wystarczy:) @edit 0 odzewu, wiec nie wiem czy problem rozwiazales, podam ci gotowy kod, przeanalizuj go :) #include <stdio.h>
int main() { int a, b; scanf( "%d", & a ); scanf( "%d", & b ); for( int i = 0; i < b; i++ ) { for( int i = 0; i < a; i++ ) { printf( "*" ); } printf( "\n" ); } return 0; }
@edit nie mozna petli nazwac funkcja, funkcja nazywamy co innego.. :) |
|
only Temat założony przez niniejszego użytkownika |
» 2013-11-25 23:51:08 Dzieki za odpowiedz, zmiennę zapisałe na początku dla wygody, a też pętla pełni funkcję, więc można nazwać ją również funkcją (chyba):p Ale dzieki za rady. Wciąż mam małe problemy z rozumieniem co jest w mojej pętli nie tak. for( n; n > a; n-- ) { for( b; b > 0; b-- ) printf( "*" ); }
Ja rozumiem, ze pętla powinna spełniać warunek i moim rozumowaniem, je spełnia, albowiem n jest wieksze od 0, więc powinna n-razy zrobić następną pętle i zmniejszać n--. Jaki jest błąd w moim rozumowaniu? |
|
only Temat założony przez niniejszego użytkownika |
» 2013-11-25 23:59:10 Dzieki, na pewno to lepiej mi pomoże zrozumieć pętle:) Trzymaj się. |
|
« 1 » |