[Lekcja 17] 3 zadanie
Ostatnio zmodyfikowano 2012-02-01 09:43
sensey9 Temat założony przez niniejszego użytkownika |
[Lekcja 17] 3 zadanie » 2012-01-15 11:16:02 Mam taki problem że program niby działa poprawnie ale za każdym razem wypisuje te same liczby i nie potrafię sobie z tym dać rady. Proszę o pomoc #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wczytajLiczbe() { int k; do { srand( time( NULL ) ); int liczba =( rand() % 1000 ) + 1; return liczba; k--; } while( k > 0 ); } int main() { int ile = 4; do { cout << "wylosowales liczbe: " << wczytajLiczbe() << endl; ile--; } while( ile > 0 ); return 0; } |
|
Drraven |
» 2012-01-15 11:41:25 Po co ci taki dziwny do..while z własnym licznikiem. Lepiej użyj for Zobacz sobie jak wylosować cokolwiek. |
|
sensey9 Temat założony przez niniejszego użytkownika |
» 2012-01-15 12:54:53 Ponieważ uczę się z kursu z tej strony i jestem przy lekcji 17 i nie poznałem jeszcze pętli for for |
|
SeaMonster131 |
» 2012-01-15 13:26:09 srand( time( NULL ) ); wywołaj tylko raz, a nie w pętli. A w funkcji wczytajLiczbe() po co Ci zmienna k (której wartość to jakieś śmieci) oraz ta pętla? Skoro wchodzisz do pętli, losujesz wartość, i dajesz return? |
|
sensey9 Temat założony przez niniejszego użytkownika |
» 2012-01-15 14:03:14 Zrobiłem tak jak mówiłeś, lecz nic to nie zmieniło dalej losuje takie same liczby #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wczytajLiczbe() { srand( time( NULL ) ); int liczba =( rand() % 1000 ) + 1; return liczba; } int main() { int ile = 4; do { cout << "wylosowales liczbe: " << wczytajLiczbe() << endl; ile--; } while( ile > 0 ); return 0; }
|
|
SeaMonster131 |
» 2012-01-15 14:09:14 wywołaj tylko raz, a nie w pętli. |
Ja dalej widzę, iż masz to w pętli :) |
|
jsc |
» 2012-01-15 14:13:39 Trzeba to zrobić tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wczytajLiczbe() { int liczba =( rand() % 1000 ) + 1; return liczba; } int main() { int ile = 4; srand( time( NULL ) ); do { cout << "wylosowales liczbe: " << wczytajLiczbe() << endl; ile--; } while( ile > 0 ); return 0; }
|
|
akwes |
» 2012-01-15 15:27:28 @jsc, fajnie ze umiesz takie programy pisać. Ale na tym forum nie robimy gotowców, zwlaszcza osobą, ktore sie ucza i powinny zrobic to same. Nie pomagasz im w ten sposób. |
|
« 1 » 2 |