Pętle FOR(...)
Ostatnio zmodyfikowano 2011-12-15 00:38
marianekA Temat założony przez niniejszego użytkownika |
Pętle FOR(...) » 2011-12-14 19:26:23 Witam zaczynam przygodę z C++, wcześniej był Amos na Amidze (nawet szło nieźle) potem była przerwa. Może mam jakieś przyzwyczajenia ale nie mogę poradzić sobie z zagnieżdżonymi pętlami For. Zadanie ma zapełnić ekran elementami obrazka najpierw w pozionie potem w pionie Tu mój przykład: ---------------------------------- int a = 100; int i = 0; int j = 0; for( j; j < 7; j++ ) { for( i; i < 9; i++ ) blit( obrazek1, screen, a * i, a * j, a * i, a * j, obrazek1->w = a *( i + 1 ), obrazek1->h = a *( j + 1 ) ); } ----------------------------------- Wykonuje się tylko druga pętla czy jest klamra czy nie, pętla pierwsza działa tylko jak wyłączę drugą Co robię żle? Dla przykładu Amosie było tak" for J = 0 to 6 For I = 0 To 8 tutaj funkcja do wykonania Next I Next J Bawię się C++ dopiero od kilku dni i potrwa jeszcze aż poznam jego tajniki po części z Waszą pomocą - nie zdradzę ile mam lat bo z krzeseł spadniecie... a na emeryturze ma się wiele czasu. |
|
pekfos |
» 2011-12-14 19:56:43 obrazek1->h = a *( j + 1 )
co tu próbujesz osiągnąć? pole oznaczone jako a jest do definiowania iteratora. Jak masz go zdefiniowanego wcześniej zostaw to pole puste. for( int a = 0; a < 10; ++a ) { for( int b = 0; b < 10; ++b ) { sth(); } } w każdym obiegu pętli 1 pętla 2 wykonuje funkcję sth() 10 razy. W sumie jest wykonana 100 razy. PS: zobacz w swoim poście jak formatować kod (link "edytuj"). |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2011-12-14 21:06:21 odnośnie tego: obrazek1->w = a *( i + 1 ), obrazek1->h = a *( j + 1 ) );
jak tam miałem wpisane w=100 i h =100 to zawsze kopiowało pierwszy fragment obrazka zaczynający się od x=0 i y=0 tak wymyśliłem i tak działa poprawnie. te drobne poprawki do mojego kodu nic nie wniosły, nadal nie działają obie pętle razem
|
|
pekfos |
» 2011-12-14 21:23:53 ostatnie argumenty funkcji blit to rozmiar fragmentu do narysowania więc chyba powinieneś użyć swojej stałej. Poza tym, tym zapisem modyfikujesz wewnętrzną strukturę bitmapy, czego nie należy robić. |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2011-12-14 21:49:33 Co robiła stała w tym miejscu to już wspomniałem, choć nie ukrywam że i mnie to dziwi. Może mam inny błąd w innym miejscu ale na razie go nie odkryłem może ktoś jeszcze coś poradzi. |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2011-12-15 00:38:03 już rozwiązałem problem zmienna w drugiej pętli nie zerowała się po zakończeniu cyklu temat uważam za zamknięty |
|
« 1 » |