losowanie bez powtórzeń
Ostatnio zmodyfikowano 2016-12-30 15:46
mokrowski |
» 2016-12-19 22:18:29 Jak się wygłupiać, to się wygłupiać :-) #include <iostream> #include <algorithm> #include <vector> #include <random> #include <iterator> #include <cassert>
template < typename T > void showUniqueRandomValues( T min_, T max_ ) { using namespace std; assert( min_ < max_ ); vector < T > myNumbers( max_ ); iota( myNumbers.begin(), myNumbers.end(), min_ ); shuffle( myNumbers.begin(), myNumbers.end(), mt19937 { std::random_device { }() } ); copy( myNumbers.cbegin(), myNumbers.cend(), ostream_iterator < T >( cout, " " ) ); }
int main() { showUniqueRandomValues( 1, 8 ); std::cout << "\n"; }
|
|
kirito1996 Temat założony przez niniejszego użytkownika |
» 2016-12-29 14:46:25 srand( time( NULL ) ); int wpisane[ 3 ] = { 0 }; int wpisanych = 0; int wylosowane[ 2 ]; int wylosowanych = 0;
jeżeli mogę spytać po co tam jest int wpisane[ 3 ] = { 0 }; ;D pierwszy raz takie coś widzę ;d |
|
carlosmay |
» 2016-12-29 15:00:13 jeżeli mogę spytać po co tam jest |
Wypełnianie tablicy zerami. |
|
kirito1996 Temat założony przez niniejszego użytkownika |
» 2016-12-30 15:00:15 hmmm ale jak sprawdzam działanie programu bez tego to też fantastycznie działa 0.o
i takie pytanko jeżeli chciałbym teraz dodać informacje o tym że liczba się powtarza do gdzie ją dodać ;D bo jak dodaję w funkcji czybyla to widać działanie losowania ;D da się to zrobić bez dodawania funkcji ? |
|
carlosmay |
» 2016-12-30 15:42:20 da się to zrobić bez dodawania funkcji ? |
Oczywiście, że jest taka możliwość, ale po co? Funkcje to twoi "przyjaciele". |
|
kirito1996 Temat założony przez niniejszego użytkownika |
» 2016-12-30 15:46:27 cofam to "kirito ty idioto xD " zamykam a dla sprostowania wystarczy "else" |
|
1 « 2 » |