wojtek1150 Temat założony przez niniejszego użytkownika |
Sumowanie wartości losowych » 2011-03-19 22:22:58 Witam wszystkich.
Zacząłem czytać poradnik C++. Doszedłem do momentu z tablicami jednowymiarowymi. Jest tam zadanie domowe do wykonania. Bardzo przydatne, gdyż wiele można się nauczyć. Jednak nie było nigdzie wzmianki o sumowaniu losowych liczb. Z wprowadzanymi liczbami nie byłoby problemu, prosta pętla, jednak tutaj mam trudności.
Program:
#include <iostream> #include <cstdlib> #include <ctime>
int main() { int wylosowana_liczba[ 999 ], licznik = 0, losowa, wynik; srand( time( NULL ) ); std::cout << "Podaj ile losowan - max 999" << std::endl; std::cin >> losowa; do { wylosowana_liczba[ licznik ] =( rand() % 7 ) + 4; licznik++; } while( licznik < losowa ); std::cout << std::endl << "Wylosowane liczby: "; licznik = 0; do { std::cout << wylosowana_liczba[ licznik ] << ","; licznik++; } while( licznik < losowa ); return 0; }
Jakieś sugestie? |
|
mar3 |
» 2011-03-19 22:32:31 Kod c/c++ wstawiaj w znacznik [ code src="C++" ] ... [ /code ].(bez spacji po między []) Może spróbuj tak 1.Tworzysz zmienną suma 2. Powiększasz ją o każdą wylosowaną liczbę Tak wygląda gotowy kod: #include <iostream> #include <cstdlib> #include <ctime>
int main() { int wylosowana_liczba[ 999 ], licznik = 0, losowa, wynik; srand( time( NULL ) ); std::cout << "Podaj ile losowan - max 999" << std::endl; std::cin >> losowa; do { wylosowana_liczba[ licznik ] =( rand() % 7 ) + 4; licznik++; } while( licznik < losowa ); std::cout << std::endl << "Wylosowane liczby: "; int suma = 0; licznik = 0; do { std::cout << wylosowana_liczba[ licznik ] << ","; suma += wylosowana_liczba[ licznik ]; licznik++; } while( licznik < losowa ); std::cout << "Suma wylosowanych liczb: " << suma << std::endl; system( "PAUSE" ); return 0; } Skompilowałem ten kod u siebie pod Visual C++ 2010 EE i chyba wszystko dziana poprawnie. Dodałem też linijkę: system( "PAUSE" ); . Żeby konsola się nie zamykała za razu po wyświetleniu wylosowanych liczb. |
|
malan |
» 2011-03-19 23:31:48 @mar3: Nie dawaj gotowego kodu ;p. Kolega sam napisał, że chce sugestie, a nie gotowca. |
|
wojtek1150 Temat założony przez niniejszego użytkownika |
» 2011-03-20 11:07:00 Jednak dało mi to podpowiedź... Zrobiłem krócej (pętlą for), pętla: #include <iostream> #include <cstdlib> #include <ctime> #include <stdio.h>
int main() { int a[ 999 ], i = 0, losowa, wynik = 0; srand( time( NULL ) ); printf( "Podaj liczbe losowan (max. 999)\n" ); scanf( "%d", & losowa ); do { a[ i ] =( rand() % 7 ) + 4; i++; } while( i < losowa ); printf( "\nWylosowane liczby:" ); i = 0; do { printf( "%d,", a[ i ] ); i++; } while( i < losowa ); for( i = 0; i < losowa; i++ ) { wynik += a[ i ]; } printf( "\n\nSuma tych liczb wynosi: %d\n", wynik ); system( "pause" ); return 0; }
Dzięki za sugestie, gotowce, czy jak kto woli to nazywać... |
|
mar3 |
» 2011-03-20 11:11:00 Dzięki za sugestie, gotowce, czy jak kto woli to nazywać... |
Nie ma za co. @mar3: Nie dawaj gotowego kodu ;p. Kolega sam napisał, że chce sugestie, a nie gotowca. |
Następnym razem dam tylko sugestie. |
|
pekfos |
» 2011-03-20 12:17:31 Kod c/c++ wstawiaj w znacznik [ code src="C++" ] ... [ /code ].(bez spacji po między []) |
co wy z tymi spacjami? i czemu nowym nie polecicie krótszego aliasu? [cpp] kod [/cpp] |
|
mar3 |
» 2011-03-20 12:56:55 |
|
pekfos |
» 2011-03-20 14:58:37 parę linii niżej jest "Dostępne aliasy:" :P |
|
« 1 » 2 |