Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie domowe, lekcja 18

Ostatnio zmodyfikowano 2015-08-26 22:29
Autor Wiadomość
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:
C/C++
#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.
P-136859
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.
P-136865
Deivid
» 2015-08-26 22:29:38
Zrób wypisanie liczb w drugiej pętli. Tylko pamiętaj o wyzerowaniu licznika przed pętlą :)
P-136910
« 1 »
  Strona 1 z 1