Losowanie bez powtórzeń - zadanie domowe nr 1
Ostatnio zmodyfikowano 2015-11-04 21:12
Lich555 Temat założony przez niniejszego użytkownika |
» 2015-11-02 16:45:16 A da się zwrócić całą tablicę bez używania wskaźników, których do tej pory teoretycznie nie poznałem? |
|
carlosmay |
» 2015-11-02 16:49:55 |
|
Lich555 Temat założony przez niniejszego użytkownika |
» 2015-11-03 22:33:24 "tutaj iWylosowane[2] możesz użyć jako indeksy dla liczby[3]" Szczerze to nie rozumiem o co Ci chodzi i jaki skutek by to przyniosło. Lepiej jest funkcję z losowaniem zrobić w void bez return i po prostu ją wywołać?
|
|
carlosmay |
» 2015-11-03 23:24:07 "tutaj iWylosowane[2] możesz użyć jako indeksy dla liczby[3]" Szczerze to nie rozumiem o co Ci chodzi i jaki skutek by to przyniosło. |
Losowanie dwóch indeksów spośród trzech i użycie ich skutkuje poprawnym wypisaniem liczb. Użycie funkcji void to dobry pomysł. |
|
Lich555 Temat założony przez niniejszego użytkownika |
» 2015-11-04 19:30:53 Czy to: int los( int iWylosowane[], int iLiczba[] ) { for( int i = 0; i < 2; i++ ) iWylosowane[ i ] =( iLiczba[ rand() % 3 ] ); return iWylosowane[ 2 ]; }
int main()
wylosowane[ 2 ] = los( wylosowane, liczba );
oznacza, że tylko drugi element tablicy równa się wynikowi tej funkcji? Jeśli tak, to w jaki sposób mam zapisać te 2 wylosowane liczby w zmiennej, żebym potem mógł na nich działać (np przekazać je do sprawdzenia lub wypisać je)? |
|
carlosmay |
» 2015-11-04 21:12:38 Nie wyciągasz wniosków. tylko drugi element tablicy równa się wynikowi tej funkcji? |
Tak. Natomiast ta wskazówka jest napisana na podstawie materiału z linku. void los( int iWylosowane[], int i_losy ) { int i = 0; do { int los = rand() % 2; if( jesli nie bylo ) { iWylosowane[ i ] = los; i++; } } while( i < i_losy ); }
Jak wiadomo z materiału z linka, funkcja działa na oryginalnej tablicy, więc nie trzeba jej zwracać. |
|
1 « 2 » |