dodawanie liczb całkowitych w tablicy jednowymiarowej
Ostatnio zmodyfikowano 2017-05-16 16:05
michw Temat założony przez niniejszego użytkownika |
dodawanie liczb całkowitych w tablicy jednowymiarowej » 2017-05-16 15:46:59 Cześć robiłem zadanie z Tablic jednowymiarowych i mam pytanie co do kodu a mianowicie wygląda to tak : Treść : 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. #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int losowanie_liczb() { int a = rand() % 7 + 4; return a; }
int main() { int tablica[ 999 ]; srand( time( NULL ) ); int ile_razy, wynik; ile_razy = 0; wynik = 0; do { cout << "Liczba " << ile_razy << " : " <<( tablica[ ile_razy ] = losowanie_liczb() ) << " , " << endl; wynik += tablica[ ile_razy ]; ile_razy++; } while( ile_razy != 999 ); cout << endl; cout << "Dodawanie 999 wylosowanych liczb : " << endl; cout << wynik; return 0;
Pytanie może głupie ale dlaczego wywala mi prawidłowy wynik dopiero jak od zmiennej wynik odejme 1 ? :) //edit juz jest ok :) |
|
hit |
» 2017-05-16 15:50:32 int a = rand() % 7 + 4; a = rand() % 7 + 4;
To jest bez sensu, nie uważasz? Całą funkcję możesz skrócić do: int losowanie_liczb() { return rand() % 7 + 4; } int ile_razy, wynik; ile_razy = 0;
Nie zerujesz drugiej zmiennej. Skąd wniosek o prawidłowym wyniku po odjęciu 1? |
|
karambaHZP |
» 2017-05-16 15:53:25 |
|
michw Temat założony przez niniejszego użytkownika |
» 2017-05-16 15:57:38 int a = rand() % 7 + 4; a = rand() % 7 + 4;
to już poprawiłem racja zapis bez sensu :) co do tego wyniku sprawdziłem sume dla pierwszych 7 wyrazów w pętli oraz zwykłym zapisem cout << tablica[ 0 ] + tablica[ 1 ] + tablica[ 2 ] + tablica[ 3 ] + tablica[ 4 ] + tablica[ 5 ] + tablica[ 6 ] << endl;
po wyzerowaniu zmiennej wynik robi się poprawny :) nie przemyślałem tego, że na początku dostanie wartość 1 :) dzięki. |
|
hit |
» 2017-05-16 16:00:41 "nie przemyślałem tego, że na początku dostanie wartość 1"
To nie jest tak, że ona "dostaje" wartość 1 na początku. Może mieć dowolną wartość, trzeba mieć tego świadomość. |
|
michw Temat założony przez niniejszego użytkownika |
» 2017-05-16 16:05:00 Ok dzięki |
|
« 1 » |