Lekcja 21 - losowanie bez powtórzeń [inne spojrzenie na problem]
Ostatnio zmodyfikowano 2012-06-23 18:41
sadlawyer Temat założony przez niniejszego użytkownika |
Lekcja 21 - losowanie bez powtórzeń [inne spojrzenie na problem] » 2012-06-23 17:42:59 Nie szukam pomocy, lecz jeśli ktoś coś powie, żeby zoptymalizować kod, który stworzyłem to się nie obrażę. Wpis powstał po to, aby pokazać inną może bardziej przystępną drogę rozwiązania problemu losowania bez powtórzeń. Mam nadzieję, że jakoś bardzo nie namieszałem i post nie jest usytuowany w zatrważająco złym dziale. #include <iostream> #include <ctime> #include <cstdlib>
int losowanie() { return( rand() % 10 ) + 1; }
void sprawdz( int tab[] ) { int i = 0, temp = 0, x; while( temp <= 10 ) { while( i < temp && x != tab[ i ] ) { i++; } if( i != temp ) { x = losowanie(); } else { tab[ temp - 1 ] = x; temp++; x = losowanie(); } i = 0; } }
int main() { srand( time( NULL ) ); int tablica[ 10 ]; sprawdz( tablica ); for( int i = 0; i < 10; i++ ) { std::cout << tablica[ i ] << std::endl; } return 0; } |
|
DejaVu |
» 2012-06-23 18:41:36 Nie ma potrzeby abyś zawracał sobie głowę optymalizacjami skoro się dopiero uczysz programowania. |
|
« 1 » |