Problem z sumowaniem elementów w tablicy rozdział 18.
Ostatnio zmodyfikowano 2014-08-15 11:42
wigi97 Temat założony przez niniejszego użytkownika |
Problem z sumowaniem elementów w tablicy rozdział 18. » 2014-08-03 15:36:57 Witam, jak napisałem w tytule, mam problem z ostatnim elementem zadania. Program sumuje mi to w dziwny sposób. Proszę nie przejmować się małą skalą, w kontekście liczb, taką łatwiej jest kontrolować. Z góry dziękuję za wszelkie porady i pomoc. int main() { srand( time( NULL ) ); int losowaneLiczby[ 5 ]; int a, b, c, licznik, suma; licznik = 0; do { losowaneLiczby[ licznik ] =( rand() % 7 ) + 4; licznik++; } while( licznik < 5 ); cout << "Wylosowane liczby to "; licznik = 0; do { cout << losowaneLiczby[ licznik ] << ", "; licznik++; } while( licznik < 5 ); cout << "Suma liczb to "; licznik = 0; do { a = losowaneLiczby[ licznik ]; licznik++; suma = a + losowaneLiczby[ licznik ]; } while( licznik < 5 ); cout << suma << endl; system( "pause" ); return 0; } |
|
pekfos |
» 2014-08-03 15:38:55 Po co tak kombinować..? int suma = 0;
suma += tablica[ i ]; |
|
1aam2am1 |
» 2014-08-03 17:10:34 Nie zerujesz sumy. Są w niej losowe wartości |
|
Mateus. |
» 2014-08-03 21:21:56 A po co ma ją zerować jak wpisuje do niej wartość? Edit: Oczywiście w jego funkcji tak jest, ale w poprawnym rozwiązaniu zerowanie jest raczej konieczne. |
|
1aam2am1 |
» 2014-08-03 21:30:37 Ma tak: cout << "Suma liczb to "; licznik = 0; do { a = losowaneLiczby[ licznik ]; licznik++; suma = a + losowaneLiczby[ licznik ]; } while( licznik < 5 );
licznik 0 1 a = losowaneliczby[0] 2 licznik++ 3 suma to a i losowaneliczby[1] licznik 1 1 a = losowaneliczby[1] 2 licznik++ 3 suma to a i losowaneliczby[2] Czyli za każdym obiegiem funkcji dodajesz element pierwszy i następny a powinieneś dodać wszystkie elementy. A i wychodzisz w ostatnim obiegu za zakres tablicy. Powinno być: licznik = 0; suma = 0; do { suma += losowaneLiczby[ licznik ]; licznik++; } while( licznik < 5 );
|
|
wigi97 Temat założony przez niniejszego użytkownika |
» 2014-08-15 11:42:22 Dziękuję za dogłębne wytłumaczenie mojego błędu i wszelką pomoc. |
|
« 1 » |