Chciałbym, żeby program losował mi liczbę z przedziału od 1-50. Jak mam to wykonać korzystając z DevC++?
Jeżeli chodzi o funkcje standardowe to tu znajdziesz:
http://www.cppreference.com/stdother/index.html
Ogółem na początku srand(time(NULL));, a późniejrand() zwraca Ci losową liczbę.
A przedział od 1-50?
Program ma losować jedną liczbę z przedziału od 1 do 50.
rand() nie przyjmuje żadnych argumentów co do przedziału, trzeba to zrobić działaniami matematycznymi, tak jak z dowolnej liczby <0, DUŻO> zrobić <1, 50>
Proszę o poprawienie kodu, aby losował jedną liczbę od 1-50.
po pierwsze potrzebujesz zmiennej która będzie przyjmować wartość losowanej liczby, np.:
int main()
{
int losowa ;
srand((int)time(NULL));
losowa =rand()%50+1;
cout << losowa ;
getch();
}
O to mi chodziło! Bardzo dziękuję! :mrgreen:
Dobra rada - nigdy nie powinno sie uzywac randa z operacja modulo, co zreszta jest wyraznie zaznaczone w dokumentacji funkcji. Linijka:
losowa=rand()%50+1;
powinna zostac zastapiona przez
losowa = 1 + (int) (50.0 * (rand() / (RAND_MAX + 1.0)));
celem uzyskania lepszej losowosci i kompatybilnosci. Dla zainteresowanych tematem polecam odwiedzic ta strone.