[C++] Błędne sumowanie tablicy losowych liczb
Ostatnio zmodyfikowano 2012-11-11 17:08
Najsu Temat założony przez niniejszego użytkownika |
[C++] Błędne sumowanie tablicy losowych liczb » 2012-11-11 16:07:13 Witam ponownie. Znów zwracam się do Was z prośbą o pomoc, gdyż kombinuję już dosyć długo i nie daję rady. Napisz program, który wylosuje 999 liczb całkowitych z zakresu od 4 do 10 włącznie, wypisze te wartości na ekran, po czym zsumuje je i wynik wypisze na ekran. Program ma wykorzystywać tablicę, która zostanie najpierw wypełniona liczbami losowymi z określonego przedziału, a następnie wynik zostanie obliczony na podstawie zawartości całej tablicy. |
Mój problem polega na tym, że nie mogę zsumować wszystkich liczb. Poza tym wszystko ładnie mi losuje jak trzeba, lecz suma jest zbyt wielka. O to mój kod (trochę go uprościłem, losuje 10 liczb, a nie 999). #include <iostream> #include <cstdlib> #include <ctime>
int main() { srand( time( NULL ) ); int los[ 11 ]; int licznik;; int nr; int suma; nr = 0; licznik = 1; do { nr++; std::cout << "#" << nr << " --- "; los[ licznik ] =(( rand() % 7 ) + 4 ); std::cout << los[ licznik ] << std::endl; licznik++; } while( licznik < 11 ); licznik = 1; do { suma += los[ licznik ]; licznik++; } while( licznik < 11 ); std::cout << "" << std::endl; std::cout << "Suma tych liczb jest rowna: " << suma << std::endl; return 0; }
Nie wiem co jest nie tak. Z góry dziękuje za pomoc, pozdrawiam. |
|
DejaVu |
» 2012-11-11 16:54:45 |
|
Najsu Temat założony przez niniejszego użytkownika |
» 2012-11-11 17:08:10 int suma = 0; O to rozwiązanie mojego problemu, dziękuje Ci bardzo za pomoc. Znowu wkradł się mały błąd, nie nadałem tej zmiennej początkowej wartości. Następnym razem gdy znowu coś pójdzie nie tak postaram się szukać w te strony. Dzięki jeszcze raz. @edit Gotowy program wraz z małym dodatkiem wygląda tak, jakby komuś miało się przydać: #include <iostream> #include <cstdlib> #include <ctime>
int main() { srand( time( NULL ) ); int los[ 1000 ]; int licznik = 1; int nr = 0; int suma = 0; do { nr++; std::cout << "#" << nr << " --- "; los[ licznik ] =(( rand() % 7 ) + 4 ); std::cout << los[ licznik ] << std::endl; licznik++; } while( licznik < 1000 ); licznik = 1; do { suma += los[ licznik ]; licznik++; } while( licznik < 1000 ); std::cout << "" << std::endl; std::cout << "Suma tych liczb jest rowna: " << suma << std::endl; return 0; }
|
|
« 1 » |