Losowanie 20 liczb losowych z przedziału określonego przez użytkownika (start, stop) zad.17
Ostatnio zmodyfikowano 2016-06-12 16:19
korek94 Temat założony przez niniejszego użytkownika |
Losowanie 20 liczb losowych z przedziału określonego przez użytkownika (start, stop) zad.17 » 2016-06-12 15:55:12 cześć. mam problem z zapisaniem zadania, które przekazuje dwie liczby (START,STOP) funkcji wylosuj(). Funkcja ta powinna wylosować 20 liczb z przedziału określonego przez użytkownika. program losuje 2x tyle liczb i nie mieszczą się one w przedziale. #include <iostream> #include <cstdlib> #include <ctime>
int wylosuj( int a, int b )
{ std::cout << "Wylosowanie " <<(( std::rand() % b ) + a ) << std::endl; int liczba =( std::rand() % b ) + a; }
int main() { srand( time( NULL ) ); int start; std::cin >> start; int stop; std::cin >> stop; int ile = 20; do { std::cout << wylosuj( start, stop ) << std::endl; ile--; } while( ile > 0 ); return 0; }
|
|
Gibas11 |
» 2016-06-12 16:19:51 1. Błędny wzór na liczbę losową z przedziału. 2. Nie użyłeś return więc funkcja zwraca śmieci. 3. Po co wyświetlasz liczbę w funkcji skoro możesz ją po prostu zwrócić i wyświetlić w main?
Edit zmień pętlę na taką: while(ile-- > 0), twoja wykona się też dla ile = 0. |
|
« 1 » |