C++ (Qt) const int* depend = depends.constData(), * dependEnd = depend + depends.size(); int nVolumes = volumes.size(); // в вектор записывается пара объём - количество повторений подряд QVector< QPair<int, int> > valueMap; valueMap.reserve(nVolumes); int lastVol = -1; while (depend != dependEnd) { int count = 0; while(lastVol == *depend && depend != dependEnd) { ++count; ++depend; } valueMap << QPair<int, int> (lastVol, count); lastVol = *depend; }
C++ (Qt) const int* depend = depends.constData(), while (depend != dependEnd) { int count = 0; while(lastVol == *depend && depend != dependEnd) { ++count; ++depend; } valueMap << QPair<int, int> (lastVol, count); lastVol = *depend; }
C++ (Qt)typedef QPair <int, int> TPair;QVector <TPair> valueMap;valueMap.push_back(TPair(depends[0], 1)); for (int i = 1; i < depends.size(); ++i) { if (depends[i] == depends[i - 1]) ++valueMap.back().second; else valueMap.push_back(TPair(depends[i], 1));}