Lekcja 17 , zadanie 3
Ostatnio zmodyfikowano 2012-06-26 22:32
Vallher |
» 2012-06-26 22:17:20 Tak wygląda Twój main: int main() { srand( time( NULL ) ); int a = 0; do { losowanie(); a++; } while( a != 4 ); return 0; }
? (oczywiście z funkcji losowanie usuj srand( time(NULL)) ) |
|
Berux Temat założony przez niniejszego użytkownika |
» 2012-06-26 22:19:13 już ma trzeba było to zapisać do zmiennej, a potem ją wypisać. kod: #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
void losowanie() { srand( time( NULL ) ); int liczba =(( rand() % 10 ) + 50 ); cout << liczba << endl; }
int main() { int a = 0; do { losowanie(); a++; } while( a != 4 ); return 0; }
Dzięki za szybkie odpowiedzi, już rozumiem. edit: Nie, nie rozumiem. Jest taki wzór : (rand() % ile liczb w przedziale) + startowa liczba; To w tym przypadku się nie sprawdza, bo zamiast (( rand() % 60 ) + 50 ;, musiałem dać (( rand() % 10 ) + 50 ); |
|
Katruf |
» 2012-06-26 22:24:11 bo tak na prawdę losujesz liczby z przedziału 0-9 i dodajesz do 50 dlatego masz w wyniku przedział od 50 do 59 |
|
SeaMonster131 |
» 2012-06-26 22:24:35 To weź to na logikę..: int zmienna =( rand() % 10 ) + 50; możesz to zapisać jako: int zmienna = rand() % 10; zmienna += 50; Tylko pamietaj, że rand losuje do liczby n-1, więc gdy dasz rand()%10, to wylosowana liczba będzie z przedziału 0-9. |
|
Vallher |
» 2012-06-26 22:25:48 w przedziale od 50 do 60 są liczby: 50,51,52,53,54,55,56,57,58,59,60
czyli jest ich 11
więc powinieneś dać : mod % 11 ponieważ reszta z dzielenia przez 12 to są liczby z przedziału 0,10 dodajesz na koncu +50 wiesz masz liczby z przedziału 50,60
|
|
Berux Temat założony przez niniejszego użytkownika |
» 2012-06-26 22:32:07 Ok, rozumiem - teraz już rozumiem.
Dzięki za tłumaczenie i poświęcenie czasu oraz za szybkie odpowiedzi. |
|
1 « 2 » |