Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyświetlanie elementów tablicy w losowy sposób bez powtorzeń

Ostatnio zmodyfikowano 2016-03-14 16:53
Autor Wiadomość
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!
P-146005
mateczek
» 2016-03-14 15:57:48
najprościej urzyj vector :P

C/C++
#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 );
    }
}
P-146006
mrci
Temat założony przez niniejszego użytkownika
» 2016-03-14 16:06:15
coś nie chce mi się skompilować :(
P-146007
mateczek
» 2016-03-14 16:12:13
włącz c++11 nie powinno być problemu
P-146008
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?
P-146009
mateczek
» 2016-03-14 16:25:48
http://www.cplusplus.com/doc/tutorial/introduction/codeblocks/
jakiego środowiska używasz ?? powyżej link do codeblocks
P-146010
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)
P-146011
mrci
Temat założony przez niniejszego użytkownika
» 2016-03-14 16:33:02
Eclipse, nie przepadam zbytnio za tym środowiskiem, ale wymogi :/
P-146012
« 1 » 2
  Strona 1 z 2 Następna strona