Lekcja 18 Tablice
Ostatnio zmodyfikowano 2015-07-28 15:33
Programista1221 Temat założony przez niniejszego użytkownika |
Lekcja 18 Tablice » 2015-07-28 00:16:46 Mam problem z programem bo zamiast sumy otrzymuje ostatnią wylosowaną liczbę #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { int liczba[ 999 ], nr, a, suma; a = 0; srand( time( NULL ) ); for( nr = 1; nr < 999; nr++ ) { a++; liczba[ a ] =( rand() % 6 ) + 4; cout << "Liczba" << nr << "=" << liczba[ a ] << endl; } for( a = 0; a < 999; a++ ) { suma = liczba[ a ] + 0; } cout << "Suma tych liczb =" << suma << endl; return 0; }
|
|
Lora |
» 2015-07-28 00:44:01 Bo zastępujesz sumę wylosowanymi liczbami, zamiast dodawać je do niej. Zamień suma = liczba[ a ] + 0 na suma += liczba[ a ] i wyzeruj zmienną suma przy jej deklaracji. I w pierwszej pętli zamień warunek końca: for( nr = 1; nr <= 999; nr++ ) . |
|
Programista1221 Temat założony przez niniejszego użytkownika |
» 2015-07-28 13:47:45 dalej jest problem z sumą teraz kosmiczne wyniki się pojawiają #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
int main() { int liczba[ 999 ], nr, a, suma; a = 0; suma = 0; srand( time( NULL ) ); for( nr = 1; nr <= 999; nr++ ) { a++; liczba[ a ] =( rand() % 6 ) + 4; cout << "Liczba" << nr << "=" << liczba[ a ] << endl; } for( a = 0; a < 999; a++ ) { suma += liczba[ a ]; } cout << "Suma tych liczb =" << suma << endl; return 0; }
|
|
BadBullPL |
» 2015-07-28 14:24:42 Zrób to w jednej pętli: for( int nr = 0; nr < 999; nr++ ) { liczba[ nr ] =( rand() % 7 ) + 4; suma += liczba[ nr ]; cout << "Liczba" << nr + 1 << "=" << liczba[ nr ] << endl; } |
|
pekfos |
» 2015-07-28 14:39:46 for( nr = 1; nr <= 999; nr++ ) { a++; liczba[ a ] =( rand() % 6 ) + 4; cout << "Liczba" << nr << "=" << liczba[ a ] << endl; } for( a = 0; a < 999; a++ ) { suma += liczba[ a ]; }
|
Dlaczego raz iterujesz po tablicy w jeden sposób, a potem używasz innego? Pierwsza pętla jest błędna, przerób ją tak, jak masz drugą. Nie na temat. 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. |
|
|
Lora |
» 2015-07-28 15:33:35 for( nr = 1; nr <= 999; nr++ ) { liczba[ a ] =( rand() % 6 ) + 4; cout << "Liczba" << nr << "=" << liczba[ a ] << endl; a++; }
a++ powinno być na końcu pętli, nie zauważyłem tego wcześniej. Albo zamiast a używaj nr-1. |
|
« 1 » |