[Lekcja 17] losowanie - problem i pytanie
Ostatnio zmodyfikowano 2014-01-31 05:12
hhh Temat założony przez niniejszego użytkownika |
[Lekcja 17] losowanie - problem i pytanie » 2014-01-29 23:58:12 Witam, program nie działa tak jak powinien, w dodatku funkcja rand tworzy dziwne przewidywalne losowanie, np. cały czas wzrastające. #include <iostream> #include <cstdlib> #include <ctime> using std::cout; using std::cin; using std::endl;
int draw( int start, int stop ) { int a =( rand() % stop ) + start; return a; }
int main() { srand( time( NULL ) ); int start; cout << "Type start point: "; cin >> start; int stop; cout << "Type end point: "; cin >> stop; int counter = 1120; do { cout << draw( start, stop ) << endl; counter--; } while( counter > 0 ); cin.sync(); cin.get(); return 0; } Jak podaje przedział, to wychodzą liczby z poza przedziału |
|
stryku |
» 2014-01-30 01:20:31 jeżeli chcesz z przedziału to takie coś się robi: int a = rand() %( stop - start ) + start;
z tym przewidywalnym losowaniem to raczej nie możliwe bo wszystko ok jest |
|
hhh Temat założony przez niniejszego użytkownika |
» 2014-01-30 10:29:35 Dzięki, tylko jeszcze przy modulo trzeba dodać 1 return rand() %( stop - start + 1 ) + start; |
|
stryku |
» 2014-01-31 05:12:35 No tak, zapomniałem. Grunt, że ogarnąłeś :) |
|
« 1 » |