Hey!
Mam generator liczb losowych.
Ktory dziala, za kazdym razem gdy go uruchomie daje mi liczby losowe z zadanego przedzialu
Jednak kiedy chce wykorzystac ta funkcje w innym programie, definiujac ja jako funkcje skladowa i kiedy zapuszczam ja w petli ona zawsze daje taka sama liczbe losowa
Czyli chodzi mi o kod generatora ktory jako funkcja skladowa zapuszczony w petli w funkcji main() daje zawsze inne liczby losowe.
Pozdrawiam.
0
0
Problem leży w funkcji srand. Poczytaj dokladnie o sposobie dzialania srand
Oto przykładowe rozwiązanie problemu:
#include <stdlib.h>
#include <time.h>
int i;
void losuj()
{
for(i=1;i<6;i++)
{
srand;
printf("%d\n",(rand()%49)+1);
}
}
int main()
{
srand((unsigned int)time((time_t *)NULL));
int j;
for(j=0;j<3;j++)
{
losuj();
printf("\n");;
}
return 0;
}
0
chyba funkcja randomize();
włacza generator liczb losowych
randomize();
random(x);
chyba
0
chyba funkcja randomize();
włacza generator liczb losowychrandomize();
random(x);
To jest wlasne rozszerzenie Borlanda i poza Borlandem nie dziala. A srand() dziala prawie wszedzie (SVID 3, BSD 4.3, ISO 9899).
Sc0rpi0n: NULL jest "deprecated". Jesli piszesz w C++ to:
srand(time(0));
a nie:
srand((unsigned int)time((time_t *)NULL));
O polowe krocej i nikt sie nie przestraszy. :)