Jak wylosować liczbę z nieznanego przedziału?
Ostatnio zmodyfikowano 2015-10-18 19:14
Jakub123 Temat założony przez niniejszego użytkownika |
Jak wylosować liczbę z nieznanego przedziału? » 2015-10-15 20:49:23 Witam Mam taki problem, że chcę wylosować liczbę z nieznanego przedziału. Chodzi o to że program wybiera mi liczby od 1..100 podzielne jednocześnie przez 3 i 5 i do tej pory wszystko działa. Problem zaczyna się gdy chcę wylosować 1 liczbę właśnie z liczb podzielnych przez 3 i 5... nie mam pojęcia co zrobić żeby mi ją losowało... Proszę o pomoc kod: #include <iostream> using namespace std; int liczba; int main() { for( int liczba = 0; liczba <= 100; liczba++ ) if(( liczba % 3 == 0 ) &&( liczba % 5 == 0 ) ) cout << liczba << endl; return( 0 ); }
|
|
pekfos |
» 2015-10-15 21:07:00 Przedział musisz znać. Jeśli chcesz wybrać liczbę ze zbioru spełniającego jakieś kryterium, wygeneruj wszystkie takie liczby, zapisz w tablicy i wylosuj indeks. |
|
Jakub123 Temat założony przez niniejszego użytkownika |
» 2015-10-15 21:12:59 Czyli jak by to miało wyglądać?
|
|
pekfos |
» 2015-10-15 21:14:10 Wygeneruj wszystkie takie liczby, zapisz w tablicy i wylosuj indeks.
|
|
Jakub123 Temat założony przez niniejszego użytkownika |
» 2015-10-15 21:15:48 Jestem zielony i nie wiem jak sie za to zabrać... ale dziękuję za pomoc ;)
|
|
pekfos |
» 2015-10-15 21:27:06 Zapewne najlepiej się do tego zabrać od tablicy..? W przedziale 0..100 nie będzie takich liczb więcej niż 100. Tablicy nie wypełnisz w całości, więc do tego musi dojść zmienna na ilość zapisanych elementów. O losowaniu liczby 0..n-1 chyba nie trzeba mówić. |
|
Monika90 |
» 2015-10-15 21:35:22 Można losować z przedziału [1, 6] i mnożyć tak wylosowaną liczbę przez 15 |
|
Jakub123 Temat założony przez niniejszego użytkownika |
» 2015-10-15 22:27:49 #include <iostream> #include <time.h> #include <cstdlib> using namespace std; int wylosowane[ 50 ]; int main() { srand( time( NULL ) ); for( int i = 0; i <= 100; i++ ) { if(( i % 3 == 0 ) &&( i % 5 == 0 ) ) wylosowane[ i ] = rand() %; cout << i << endl; } return( 0 ); } Czy jestem bliżej? |
|
« 1 » 2 |