kinga9650 Temat założony przez niniejszego użytkownika |
[c++] fraktale; brak kontynuacji działania w pętli » 2014-05-08 18:51:43 Cześć wszystkim, Chciałam się gdzieś podpiąć, ale nie znalazłam odpowiedniego wątku. Zależy mi na tym, aby ktoś zerknął na mój program i powiedział gdzie może tkwić błąd. Program generalnie polega na narysowaniu dywanu Sierpińskiego. #include <allegro.h>
void sierp( float x1, float y1, float l, int k ) { l /= 3; line( screen, x1 + l, y1 + l, x1 + 2 * l, y1 + l, makecol( 0, 255, 0 ) ); line( screen, x1 + 2 * l, y1 + l, x1 + 2 * l, y1 + 2 * l, makecol( 0, 255, 0 ) ); line( screen, x1 + 2 * l, y1 + 2 * l, x1 + l, y1 + 2 * l, makecol( 0, 255, 0 ) ); line( screen, x1 + l, y1 + 2 * l, x1 + l, y1 + l, makecol( 0, 255, 0 ) ); if( k > 0 ) { --k; sierp( x1, y1, l, k ); sierp( x1 + l, y1, l, k ); sierp( x1 + 2 * l, y1, l, k ); sierp( x1, y1 + l, l, k ); sierp( x1 + 2 * l, y1 + l, l, k ); sierp( x1, y1 + 2 * l, l, k ); sierp( x1 + l, y1 + 2 * l, l, k ); sierp( x1 + 2 * l, y1 + 2 * l, l, k ); } }
int main() { (...) sierp( 10, 10, a - 20, 15 ); readkey(); allegro_exit(); return 0; } END_OF_MAIN(); Używam biblioteki Allego, jednak nie to jest tutaj raczej problemem. Chodzi o to, iż po rozpoczęciu działania w if{} i przejściu przez pierwsze polecenie program wydaje się kończyć pracę nie realizując kolejnych poleceń. Przeanalizowałam działanie programu w głowie i według mnie dalej powinien działać on prawidłowo. Jak znam życie jest to pewnie błahy błąd, więc mam nadzieję, że może tutaj ktoś go szybko wyłapie. Z góry dziękuję za pomoc! |