[Lekcja 19] Program losuje zbyt mało liczb
Ostatnio zmodyfikowano 2015-10-18 01:44
xomicr0n Temat założony przez niniejszego użytkownika |
[Lekcja 19] Program losuje zbyt mało liczb » 2015-10-18 00:59:52 Witam, mam pewną zagwozdkę związaną z moim programem, otóż : #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void losowanie( int t[], int iRozmiar ) { int i = 0; do { t[ i ] =( rand() %( 11 - 4 ) ) + 4; i++; } while( i < iRozmiar ); }
void wypisywanie( int t1[], int iRozmiar1 ) { int nr = 0; int i = 0; do { cout << "Liczba nr" << nr << " : " << t1[ i ] << endl; nr++; i++; } while( i < iRozmiar1 ); }
void sumowanie( int t2[], int iRozmiar2 ) { int suma = 0; int i = 0; do { suma += t2[ i ]; } while( i < iRozmiar2 ); cout << "Suma : " << suma << endl; }
int main() { srand( time( NULL ) ); int tablica[ 1000 ]; losowanie( tablica, 1000 ); wypisywanie( tablica, 1000 ); sumowanie( tablica, 1000 ); return 0; }
Podany program działa (kompiluje się), jednak występują dwa problemy - losowanie liczb odbywa się tylko w zakresie od 701 do 999 - program nie chce sumować liczb (po wypisaniu liczb z tych wartości następuje długi długi okres oczekiwania, przez który nic się nie dzieje, aż do zamknięcia programu) Byłby w stanie ktoś mnie naprowadzić na to, co robię nie tak? Ślęczę trochę nad programem i dalej nie mam żadnego pomysłu |
|
killjoy |
» 2015-10-18 01:33:58 - losowanie liczb odbywa się tylko w zakresie od 701 do 999 |
Z kodu wynika, że losuje 4 - 10. - program nie chce sumować liczb |
Nie inkrementujesz zmiennej i . |
|
carlosmay |
» 2015-10-18 01:41:50 Program ok poza tą 'i'. Konsola w standardowym ustawieniu wyświetla ok 300 linii, więc więcej nie zobaczysz (chyba, że zmienisz w ustawieniach konsoli). Zwykle wynik sumowania był ok 7000. Napraw 'i'. |
|
xomicr0n Temat założony przez niniejszego użytkownika |
» 2015-10-18 01:44:20 A rzeczywiście, przeoczyłem inkrementację, mega głupi błąd. I sumuje w okolicach 7000. I mam rozumieć, że jeśli w konsoli widzę dopiero od "...liczba nr 705", to się tym nie martwić?
Dzięki wielkie :)
//edit oki, zwiększyłem długość bufora i wszystko mi się wyświetla. Jeszcze raz dziękuję! |
|
« 1 » |