Sito Eratostenesa z tablicą.
Ostatnio zmodyfikowano 2016-07-27 19:42
NiNJAxFREEZu Temat założony przez niniejszego użytkownika |
Sito Eratostenesa z tablicą. » 2016-07-27 14:01:06 Witam. Mam problem z moim programem generującym liczby pierwsze do 150. #include <stdio.h>
int main( void ) { int P[ 150 ], i, j; for( i = 0; i <= 150; ++i ) P[ i ] = 0; for( i = 2; i <= 150; ++i ) { if( P[ i ] == 0 ) printf( "%i\n", i ); for( j = 1; i * j <= 150; ++j ) P[ i * j ] = 1; } return 0; } Chodzi o ostatnią pętle for. Podczas uruchomienia programu, program nie wychodzi z tej pętli. Czy ktoś może mi powiedzieć, to jest przyczyną tego problemu? |
|
mateczek |
» 2016-07-27 19:01:21 for( i = 0; i < 150; ++i )
|
|
NiNJAxFREEZu Temat założony przez niniejszego użytkownika |
» 2016-07-27 19:31:09 Zmiana warunku ostatniej pętli for na "<=149" naprawiła problem. Zamykam temat. |
|
mateczek |
» 2016-07-27 19:42:37 Musisz zmienić warunek we wszystkich pętlach!!! Bo inaczej odwołujesz się poza tablicę!!! #include<iostream> using namespace std; int main( void ) { int P[ 150 ], i = 90; cout << P[ 150 ] << " dlaczego?? " << endl; }
|
|
« 1 » |