void WQQuiz::addToList(int aCol, int bCol) { //build a list of row numbers containing text in both columns typedef QValueList<int> IntList; IntList tempList; for (int current = 0; current < m_table ->numRows(); ++current) { if (!m_table->text(current, 0).isEmpty() && !m_table->text(current, 1).isEmpty()) { tempList.append(current); } } KRandomSequence *rs = new KRandomSequence(0); int count = tempList.count(); IntList::ConstIterator it; for ( it = tempList.begin(); it != tempList.end(); ++it ) { WQListItem *li; li = new WQListItem(); li->setQuestion(aCol); li->setCorrect(1); li->setOneOp(*it); if (count > 2) { int a, b; do a = rs->getLong(count); //rand() % count; while(a==*it); li->setTwoOp(a); do b = rs->getLong(count); //rand() % count; while(b == *it || b == a /*|| b < 0*/); li->setThreeOp(b); } m_quizList.append(*li); } }
int main() { IntList list; while(true) { string cmd; cin >> cmd; if(cmd == "append") { int elem; cin >> elem; list.append(elem); } if(cmd == "remove") { int index; cin >> index; list.remove(index); }