[Rozdział 21] - Problem z losowaniem.
Ostatnio zmodyfikowano 2014-03-18 23:16
MadnessTime Temat założony przez niniejszego użytkownika |
[Rozdział 21] - Problem z losowaniem. » 2014-03-18 22:13:07 Witam, to znów ja. Tym razem napotkałem problem w funkcji losującej. Mianowicie starałem się na wiele sposobów, lecz zawsze kończyło się tak samo (losuje zawsze 2 te samy liczby). Próbowałem nawet stworzyć drugą funkcję losującą i też nie pomogło. Więc mógłby ktoś mnie nakierować lub poprawić moje błędne rozumowanie? #include<iostream> #include<cstdlib> #include<ctime> using namespace std;
void wczytywanie( int tab[], int j ) { int i = 0; cout << "Podaj 10 liczby, ktore zostana zapisane do tablicy" << endl; do { cin >> tab[ i ]; i++; } while( i < j ); }
int losowanie( int najmniejsza, int najwieksza ) { srand( time( 0 ) ); return( rand() % najwieksza ) + najmniejsza; }
int main() { int tablica[ 10 ]; int licznik = 0; wczytywanie( tablica, 10 ); int wylosowane = losowanie( 1, 9 ); cout << tablica[ wylosowane ] << endl; wylosowane = losowanie( 1, 9 ); cout << tablica[ wylosowane ] << endl; return( 0 ); }
|
|
OczkoSX |
» 2014-03-18 22:37:39 Zrób losowanie z wykorzystywaniem funkcji czasowej aby losowane liczby były inne. Zobacz ile jest tych tematów na tej stronie nawet... |
|
Monika90 |
» 2014-03-18 22:38:12 srand( time( 0 ) ); to inicjalizuje generator liczb pseudlosowych bieżącym czasem, czas zmienia się co sekundę, wnioski sam sobie wyciągnij |
|
MadnessTime Temat założony przez niniejszego użytkownika |
» 2014-03-18 22:55:39 Dzięki wielkie znów Moniko :) Użyłem funkcji Sleep(); i wszystko działa jak powinno ;) Do zamknięcia. |
|
Monika90 |
» 2014-03-18 22:56:48 |
|
MadnessTime Temat założony przez niniejszego użytkownika |
» 2014-03-18 23:02:03 Wiem, chodziło mi tylko o to, jakiej funkcji w tym celu użyłem. W programie wygląda to tak: do { int wylosowane = losowanie( 1, 9 ); cout << "wylosowana liczba nr. " << licznik + 1 << " = " << tablica[ wylosowane ] << endl; licznik++; Sleep( 1000 ); } while( licznik < 8 );
|
|
Monika90 |
» 2014-03-18 23:16:16 No to teraz czekasz 8 sekund na wylosowanie 8 liczb. Generator wystarczy inicjalizować raz na początku programu. |
|
« 1 » |