Я пишу небольшую программу с графическим интерфейсом на C ++ и Qt.Предполагается, что он похож на словарный тренажер.Я буду использовать его для собственного изучения.
У меня есть QList объектов (например, имя и описание в виде строки).
Затем у меня есть второй QList с целыми числами.Для каждого объекта в моем другом списке, int находится в этом списке.Начальное значение 50 для каждого объекта;если пользователь нажимает правильно, он уменьшается, и наоборот.Поэтому объект со значением 70 должен показываться пользователю чаще, чем объект со значением 30. Поэтому в методе правильного ответа я увеличиваю / уменьшаю его, сортирую QList и использую мой случайный алгоритм:
if(packList.count()==0) // the QList with objects
return;
int Min = 0;
int Max = packList.count()-1; // -1 because i need the index
qsrand(QTime::currentTime().msec());
if (Min > Max)
{
int Temp = Min;
Min = Max;
Max = Temp;
}
int randNum = ((rand()%(Max-Min+1))+Min);
setPage(randNum); // randNum will be used as index in this method
Теперь мне нужен способ реализовать мой приоритет в этом случайном алгоритме.Я не хочу, чтобы те, у кого более высокое значение, появлялись в 90% случаев, но чаще, как словарный тренажер.