Pierwsza wartość wyrzucona przez pętle
Ostatnio zmodyfikowano 2013-04-02 14:02
polkom21 Temat założony przez niniejszego użytkownika |
Pierwsza wartość wyrzucona przez pętle » 2013-04-02 13:41:30 Mam taką pętle: int lastay, lastax[ 3 ]; for( int y = 19; y >= 0; y-- ) { for( int x = 0; x < 10; x++ ) { if( activemap[ x ][ y ] != 0 ) { lastax[ 0 ] = activemap[ x ][ y ]; lastax[ 1 ] = activemap[ x + 1 ][ y ]; lastax[ 2 ] = activemap[ x + 2 ][ y ]; lastax[ 3 ] = activemap[ x + 3 ][ y ]; lastay = y; std::cout << lastay << std::endl; } } }
i potrzebuję tylko pierwszą wartość lastay a wyrzuca za każdym razem 3 i przypisuje mi do wartości tą ostatnią. Próbowałem tablice zastosować i też nie działa. Jak to zrobić? Próbowałem też przerwać pętle ale to mi nie zadziałało. |
|
pekfos |
» 2013-04-02 13:43:17 break w drugiej pętli i, w warunku, w pierwszej. |
|
polkom21 Temat założony przez niniejszego użytkownika |
» 2013-04-02 13:49:55 int lastay, lastax[ 3 ]; int tempx; for( int y = 19; y >= 0; y-- ) { for( int x = 0; x < 10; x++ ) { if( activemap[ x ][ y ] != 0 ) { lastax[ 0 ] = activemap[ x ][ y ]; lastax[ 1 ] = activemap[ x + 1 ][ y ]; lastax[ 2 ] = activemap[ x + 2 ][ y ]; lastax[ 3 ] = activemap[ x + 3 ][ y ]; lastay = y; std::cout << lastay << std::endl; tempx = x; break; } } if( activemap[ tempx ][ y ] != 0 ) break; }
Tak?? Od razu wyrzuca, że program przestał działać jak odpalę. |
|
pekfos |
» 2013-04-02 13:58:26 Nie tak. Dodaj sobie zmienną, w której zapiszesz, czy już znalazłeś te wartości. |
|
polkom21 Temat założony przez niniejszego użytkownika |
» 2013-04-02 14:02:42 A czy coś takiego nie powinno działać? int lastay, lastax[ 3 ]; bool czy = false; for( int y = 19; y >= 0; y-- ) { for( int x = 0; x < 10; x++ ) { if( activemap[ x ][ y ] != 0 ) { lastax[ 0 ] = activemap[ x ][ y ]; lastax[ 1 ] = activemap[ x + 1 ][ y ]; lastax[ 2 ] = activemap[ x + 2 ][ y ]; lastax[ 3 ] = activemap[ x + 3 ][ y ]; if( czy == false ) { lastay = y; czy = true; } } } }
Pokazuje zmienną ale ostatnią czyli 0. EDIT Dobra poradziłem sobie już z tym. |
|
« 1 » |