Dziwne generowanie liczb - zadanie domowe z funkcji i tablic jednowymiarowych. (lekcja 19)
Ostatnio zmodyfikowano 2014-08-28 20:51
Szustarol Temat założony przez niniejszego użytkownika |
Dziwne generowanie liczb - zadanie domowe z funkcji i tablic jednowymiarowych. (lekcja 19) » 2014-08-28 20:31:49 Witam napotkałem problem w zadaniu domowym z lekcji 19. Oto kod mojego programu: #include <iostream> #include <ctime> #include <cstdlib>
int wylosujLiczby( int *tablica, int ilosc, int low, int high) { int licznik = 0; int przedzial = high-low; srand(time( NULL ) ); do { tablica [licznik] == ((std::rand() % przedzial ) + low ); licznik ++; }while (licznik <ilosc); return *tablica; }
int wypiszLiczby( int *tablica, int ilosc) { int licznik = 0; do { std::cout << tablica [licznik] << std::endl; licznik ++; }while (licznik <ilosc); return 0; }
int obliczSume( int *tablica, int ilosc) { int licznik = 0; int wynik = 0; do { wynik += tablica[licznik]; licznik ++; }while (licznik < ilosc); return wynik; }
int main() { int tablica[ 999 ]; wylosujLiczby(tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); std::cout << "Suma liczb wynosi: " << iSuma << std::endl; return 0; }
wszystko działa, funkcje też, niestety liczby nie są generowane poprawnie- zamiast liczb z przedziału 4-10 są generowanie liczby z niesamowicie ogromnej skali, zarówno dodatnie jak i ujemne. Chwile szukałem rozwiązania, ale jakoś nie mogę znaleźć luki w kodzie. |
|
Monika90 |
» 2014-08-28 20:50:07 tablica[ licznik ] ==(( std::rand() % przedzial ) + low );
nie ten operator co trzeba |
|
Szustarol Temat założony przez niniejszego użytkownika |
» 2014-08-28 20:51:29 dzięki, problem rozwiązany |
|
« 1 » |