mrci Temat założony przez niniejszego użytkownika |
Wyświetlanie elementów tablicy w losowy sposób bez powtorzeń » 2016-03-14 15:36:39 Cześć! Szykam pomocy w napisaniu prostego programu wyświetlajacego tablicę w losowy sposób. Mam na myśli, że gdy mam tablicę 10 elementową, to wyświetli mi sie ona w losowy sposób, ale bez powtórzeń. Np. mam tablicę
int tab[]={1,2,3,4,5,6,7,8,9,10}
Output: 8 5 9 1 4 2 3 10 7 6
Z góry dziękuję za pomoc! |
|
mateczek |
» 2016-03-14 15:57:48 najprościej urzyj vector :P #include <iostream> #include<random> #include<ctime> #include<vector> using namespace std;
int main() { srand( time( NULL ) ); vector < int > tablica { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for( int i = 0; i < 10; i++ ) { int index = rand() % tablica.size(); cout << tablica[ index ] << " "; tablica.erase( tablica.begin() + index ); } } |
|
mrci Temat założony przez niniejszego użytkownika |
» 2016-03-14 16:06:15 coś nie chce mi się skompilować :( |
|
mateczek |
» 2016-03-14 16:12:13 włącz c++11 nie powinno być problemu |
|
mrci Temat założony przez niniejszego użytkownika |
» 2016-03-14 16:21:39 mam gcc version 4.8.4 więc w teori obługuje c++11 hmm?
|
|
mateczek |
» 2016-03-14 16:25:48 http://www.cplusplus.com/doc/tutorial/introduction/codeblocks/ jakiego środowiska używasz ?? powyżej link do codeblocks |
|
mokrowski |
» 2016-03-14 16:31:00 Jak to mają być dane z vector i w samym vector są unikalne (tj. nie powtarzają się), to użyj random_shuffle() z <algorithm> na vector i zdejmuj dane w trybie LIFO (back/pop_back) |
|
mrci Temat założony przez niniejszego użytkownika |
» 2016-03-14 16:33:02 Eclipse, nie przepadam zbytnio za tym środowiskiem, ale wymogi :/ |
|
« 1 » 2 |