Liczby pseudolosowe
Ostatnio zmodyfikowano 2015-12-17 16:53
Bonhart Temat założony przez niniejszego użytkownika |
Liczby pseudolosowe » 2015-12-17 16:42:04 #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; }
|
|
ArgonZapan |
» 2015-12-17 16:46:12 for( int i = 0; i < 20; i++ ) t[ i ] =( rand() % 50 ) + 1; |
|
Bonhart Temat założony przez niniejszego użytkownika |
» 2015-12-17 16:50:28 Nie pomogło . A w pętli for(int i=1;i<=20;i++) jest dobrze dobrana . |
|
ArgonZapan |
» 2015-12-17 16:53:48 void wczyt( int t[] ) { for( int i = 1; i <= 20; i++ ) t = rand() % 50 + 1; } nie sprawdzałem w kompilatorze, ale robisz tablice 20 elementów, o indeksach od 0 do 19, więc pętla for jest na bank źle zrobiona. Druga sprawa, to nie odwołujesz się do elementów tablicy, a do wskaźnika "t". Spróbuj wypisać każdy element tablicy. |
|
« 1 » |