Liczby pseudolosowe c++
Ostatnio zmodyfikowano 2015-12-17 18:55
Bonhart Temat założony przez niniejszego użytkownika |
Liczby pseudolosowe c++ » 2015-12-17 17:56:13 Witam . Użyłem srand(time(NULL)) a mimo program drukuje te same liczby . Tutaj jest kod . #include <iostream> #include <cmath> #include <ctime> #include <cstdlib> using namespace std;
void wczyt( int t[] ) { for( int i = 0; i < 20; i++ ) t[ i ] =( rand() % 50 ) + 1; } bool pierwsza( int a ) { if( a == 2 ) return true; if( a == 1 || a % 2 == 0 ) return false; for( int i = 2; i <= sqrt( a ); i++ ) if( a % i == 0 ) return false; return true; } void sprawdzanie( int t[] ) { cout << "Liczby pierwsze " << endl; int c = 0; for( int i = 0; i < 20; i++ ) if( pierwsza( i ) ) { cout << i << " "; c++; } cout << endl; cout << "Z wylosowanych licz jest " << c << " liczb pierwszych " << endl; } int main() { srand( time( NULL ) ); int t[ 20 ]; wczyt( t ); sprawdzanie( t ); return 0; } |
|
carlosmay |
» 2015-12-17 18:10:16 Zastanów się jakie liczby drukuje program i co przekazujesz do sprawdzania? |
|
Bonhart Temat założony przez niniejszego użytkownika |
» 2015-12-17 18:55:24 Powinna wyglądać funkcja , poprostu nie popatrzyłem i zamiast t[i] wpisałem i . Dzięki wielkie za pomoc . void sprawdzanie( int t[] ) { cout << "Liczby pierwsze " << endl; int c = 0; for( int i = 0; i < 20; i++ ) if( pierwsza( t[ i ] ) ) { cout << i << " "; c++; } cout << endl; cout << "Z wylosowanych licz jest " << c << " liczb pierwszych " << endl; } } |
|
« 1 » |