Lekcja[19] Problem z zadaniem domowym i funkcjami.
Ostatnio zmodyfikowano 2012-10-02 15:40
reshi Temat założony przez niniejszego użytkownika |
Lekcja[19] Problem z zadaniem domowym i funkcjami. » 2012-10-02 15:28:58 Witam mam problem z funkcjami. Wszystko rozumiem w tym kursie ale funkcje próbuje je zrozumieć i za h.. nie mogę . Jestem już na lekcji 19 i próbuje coś z tym zrobić . Mam taki oto kod: (Jak to dać w tą ramkę ?) #include <iostream> #include <cstdlib> #include <ctime>
void losuj( int tablica2[ 999 ], int losowanie ) { srand( time( NULL ) ); (( rand() % 6 ) + 4 ); losowanie = 999; int i = 0; do { tablica2[ i ] = rand() % 6 + 4; i++; } while( i < losowanie ); }
int main() { int suma; int tablica2[ 999 ]; losuj( tablica2, 999 ); int i = 0; do { suma += tablica2[ i ]; i++; } while( i < 998 ); std::cout << suma; return 0; }
i nie wiem czemu nie działa z tego co rozumiem w int main, losuj (tablica2,999) przekazuje do funkcji losuj ta tablice potem ta tablica jest zwracana wylosowana już i jest sumowana ale tak w rzeczywistości nie jest bo wyskakuje zawsze liczba jakaś która zaczyna się na 4 tylko zazwyczaj to są miliony. Może mi ktoś trochę wytłumaczyć te funkcje ? Oraz podac poprawny kod żebym mógł zobaczyć i obczaić o co chodzi. |
|
SeaMonster131 |
» 2012-10-02 15:33:40 (jak to dać w tą taką ramke ? bo jestem nowy i nie wiem) |
[cpp] kod [/cpp] Co do kodu, skoro przekazujesz zmienną losowanie jako argument funkcji tutaj: void losuj( int tablica2[ 999 ], int losowanie )
...
losuj( tablica2, 999 );
To dlaczego nadajesz jej nową wartość: losowanie = 999; ? :) Co do wielkich sum, musisz na początku wyzerować zmienną: int suma = 0; , bo inaczej jej wartością są jakieś śmieci z pamięci. |
|
reshi Temat założony przez niniejszego użytkownika |
» 2012-10-02 15:40:37 Thx działa. Nie wiem xD poprostu jestem nowy i jeszcze tego nie obczajam pierwszy raz się uczę programowania znaczy uczyłem się już html i css ale chodzę do 6 klasy więc mi to też trudniej pojąć . Po prostu trochę skopiowałem i próbowałem to jakoś zmodyfikować dobrze i jakiś taki śmieć mi się zalęgnął xD. W każdym razie już działa , drugi raz ten sam błąd popełniłem bo już przy innym programie też zapomniałem własnie wyzerować tego typu wartość i też kosmiczne liczby mi się pokazywały. |
|
« 1 » |