#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)mutable{return Kombinierte_Werte{counter++, nummer_aus_set};});

  for(auto& element: ergebnis)
    cout << element.fortlaufende_nummer << '\t' << element.nummer_aus_set << '\n';
}