Praca domowa z roz 18 - jednowymiarowe tablice
Ostatnio zmodyfikowano 2011-04-16 16:59
greenhouse Temat założony przez niniejszego użytkownika |
Praca domowa z roz 18 - jednowymiarowe tablice » 2011-04-16 16:27:26 Mam problem ze zrobieniem sumy wszystkich wylosowanych liczb.
Poniżej kod, który napisałem, teraz jak zrobić żeby zapamiętać wszystkie elementy i je zsumować?
Dzięki za pomoc.
#include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
int main() { int i = 0; int a[ 998 ]; srand( time( NULL ) ); do { a[ i ] =( rand() % 7 ) + 4; cout << a[ i ] << endl; i++; } while( i < 998 ); return 0; }
|
|
Dawidsoni |
» 2011-04-16 16:31:12 Umieszczasz kod tak: [ cpp ] [/cpp] |
|
Dawidsoni |
» 2011-04-16 16:35:58 A co do programu to chyba jest dobry(nie kompilowałem, bo jak twój kod zmienił się wskutek nie umieszczenia znaczników c++), tylko wprowadź zmienną suma, która na początku będzie równała się 0, a potem w pętli robisz: suma = suma + a;(wylosowana liczba), czyli w skrócie: suma += a; |
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-16 16:49:37 int suma = 0; do { suma = suma + a[ i ]; cout << "Suma wynosi: " << suma << endl; } while( i < 998 );
w tym przypadku suma zawsze wynosi 998, nieważne jakie elementy zostaja wylosowane.
podejrzewam, że coś jest źle po while?
ale nie wiem jaki dać inny warunek |
|
ison |
» 2011-04-16 16:51:43 a gdzie zgubiłeś a[ i ] =( rand() % 7 ) + 4;
i ? chyba że to jest drugi while, wygodniej byłoby to robić w jednym #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
int main() { int i = 0; int a[ 998 ]; srand( time( NULL ) ); int suma = 0; do { a[ i ] =( rand() % 7 ) + 4; suma += a[ i ]; cout << "Wylosowana: " << a[ i ] << endl; i++; } while( i < 998 ); cout << "Suma wszystkich: " << suma << endl; return 0; }
|
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-16 16:59:32 Wielkie dzięki!
Działa, jak teraz na to patrzę to dziwię się jak bardzo skomplikowałem ten problem. |
|
« 1 » |