#include <vector>
#include <set>
#include <algorithm>
#include <iterator>
#include <iostream>
using namespace std;
struct Kombinierte_Werte {
int fortlaufende_nummer;
int nummer_aus_set;
};
int main()
{
set<int> my_set{14, 18, 16, 27};
vector<Kombinierte_Werte> ergebnis;
int counter = 0;
transform(my_set.begin(), my_set.end(), back_inserter(ergebnis),
[&counter](int nummer_aus_set){return Kombinierte_Werte{counter++, nummer_aus_set};});
for(auto element: ergebnis)
cout << element.fortlaufende_nummer << '\t' << element.nummer_aus_set << '\n';
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnN0cnVjdCBLb21iaW5pZXJ0ZV9XZXJ0ZSB7CiAgIGludCAgZm9ydGxhdWZlbmRlX251bW1lcjsKICAgaW50IG51bW1lcl9hdXNfc2V0Owp9OwoKaW50IG1haW4oKQp7CiAgc2V0PGludD4gbXlfc2V0ezE0LCAxOCwgMTYsIDI3fTsKIAogIHZlY3RvcjxLb21iaW5pZXJ0ZV9XZXJ0ZT4gZXJnZWJuaXM7CiAgaW50IGNvdW50ZXIgPSAwOwogIHRyYW5zZm9ybShteV9zZXQuYmVnaW4oKSwgbXlfc2V0LmVuZCgpLCBiYWNrX2luc2VydGVyKGVyZ2VibmlzKSwgCiAgWyZjb3VudGVyXShpbnQgbnVtbWVyX2F1c19zZXQpe3JldHVybiBLb21iaW5pZXJ0ZV9XZXJ0ZXtjb3VudGVyKyssIG51bW1lcl9hdXNfc2V0fTt9KTsKICAKICBmb3IoYXV0byBlbGVtZW50OiBlcmdlYm5pcykKICAJY291dCA8PCBlbGVtZW50LmZvcnRsYXVmZW5kZV9udW1tZXIgPDwgJ1x0JyA8PCBlbGVtZW50Lm51bW1lcl9hdXNfc2V0IDw8ICdcbic7Cn0=