Na zajęciach programowania, napotkaliśmy na problem który wygląda tak : po wylosowaniu liczb, cały czas zostawały one na poziomie tysięcy/dziesiatek a zmieniały się tylko ich końcówki.
Wyjście:
1346, 1368, 1356 …
Z problemem sobie poradziłem korzystając z biblotek dla funkcji srand. Sprawa tak prosta że az głupia, po prostu zapomnielismy o deklaracji bibloteki <time.h> która odpowiada za obsluge time(null), czyli nasz rdzeń losowania
.
Przykładowy program na którym testowałem funkcje losowania :
#include<iostream>
#include <time.h>
using namespace std;
int main() {
srand ( time(NULL) );
for ( int i=1; i<10; i++ ){
cout<<endl<<"Proba: "<<i<<endl<<endl;
cout<<rand()<<'\n';
cout<<rand()<<'\n';
cout<<rand()<<'\n';
}
system("PAUSE");
return 0;
} |