Zadanie domowe, lekcja 18
Ostatnio zmodyfikowano 2015-08-26 22:29
OddajcieBoja Temat założony przez niniejszego użytkownika |
Zadanie domowe, lekcja 18 » 2015-08-25 17:16:35 Wykonując zadanie domowe z rozdziału "Tablice jednowymiarowe" natknąłem się na bardzo irytujący problem. A mianowicie, wszystkie wylosowane liczby są takie same (co jest nie pożądane). Długo szukałem błędu w kodzie, jednak nigdzie nie mogę go znaleźć. W końcu doszło do tego, że porównywałem mój kod z kodami innych użytkowników, i ku mojemu zdziwieniu były niemal identyczne, i pomimo to ich kody działały i losowały liczby prawidłowo. Tutaj zamieszczam mój kod: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand( time( NULL ) ); int liczba[ 999 ]; int licznik = 0; int suma = 0; do { liczba[ licznik ] =( rand() % 7 ) + 4; cout << liczba[ licznik ] << ", "; suma = suma + liczba[ licznik ]; licznik++; } while( licznik < 999 ); cout << "\n\nSuma wynosi: " << suma; return 0; }
Z góry dzięki za pomoc. |
|
carlosmay |
» 2015-08-25 19:01:42 Program losuje prawidłowo. Jeśli losuje te same liczby nie działa ziarno srand() lub wyświetla ci jedną liczbę w koło.
Podziel wynik przez liczbę elementów tablicy i zobacz czy wynikiem jest liczba losowana. U mnie kod działa prawidłowo. |
|
Deivid |
» 2015-08-26 22:29:38 Zrób wypisanie liczb w drugiej pętli. Tylko pamiętaj o wyzerowaniu licznika przed pętlą :) |
|
« 1 » |