C++ (Qt)qsrand (QDateTime::currentMSecsSinceEpoch());QList<int> numbers;for (int i=0; i<4; ++i) numbers.append(i);for (int i=0; i<3; ++i) { int num = qrand() % numbers.count(); qDebug() << numbers.at(num); numbers.removeAt(num);}
C++ (Qt)int RandIndex( int limit, // число элементов в исходном массиве int numSel, // число выбираемых int n ) // выбираемое{ int beg = n * limit / numSel; int end = (n + 1) * limit / numSel; return beg + (qrand() % (end - beg)); }
C++ (Qt) qDebug() << RandIndex(4, 3, 0); qDebug() << RandIndex(4, 3, 1); qDebug() << RandIndex(4, 3, 2);
C++ (Qt)qsrand (QDateTime::currentMSecsSinceEpoch());QList<int> src; // исходный массивQSet<int> dst; // наша выборкаint n; // количество элементов выборкиwhile (dst.size() < n) dst.insert(src.at(qrand() % src.size()));
C++ (Qt)qsrand (QDateTime::currentMSecsSinceEpoch());QList<int> src;QSet<int> dst;int n;while (dst.size() < n) dst.insert(src.at(qrand() % src.size()));