Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby pseudolosowe c++

Ostatnio zmodyfikowano 2015-12-17 18:55
Autor Wiadomość
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 .
C/C++
#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;
}
P-142101
carlosmay
» 2015-12-17 18:10:16
Zastanów się jakie liczby drukuje program i co przekazujesz do sprawdzania?
P-142102
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 .
C/C++
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;
}
}
P-142105
« 1 »
  Strona 1 z 1