#include <algorithm>
#include <iostream>
#include <iterator>
#include <limits>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main() {
istringstream fileP{ "ConfigID\tLabel1\tLabel2\tLabel3\n1\t.3\t.3\t10.0\n2\t.2\t.2e-3\t0.1n3\t.4\t.2\t9.9" };
string label;
getline(fileP, label, '\n');
istringstream gccNeedsThisOnASeperateLine{ label };
const vector<string> Labels{ istream_iterator<string>{ gccNeedsThisOnASeperateLine }, istream_iterator<string>{} };
vector<vector<double>> Parameters;
while(fileP.ignore(std::numeric_limits<std::streamsize>::max(), '\t')) {
vector<double> input(Labels.size() - 1);
for(int i = 0; i < input.size() && fileP >> input[i]; ++i);
Parameters.push_back(input);
}
copy(next(cbegin(Labels)), cend(Labels), ostream_iterator<string>(cout, "\t"));
cout << endl;
for(const auto& input : Parameters) {
for(const auto& i : input) {
cout << i << '\t';
}
cout << endl;
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxsaW1pdHM+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaXN0cmluZ3N0cmVhbSBmaWxlUHsgIkNvbmZpZ0lEXHRMYWJlbDFcdExhYmVsMlx0TGFiZWwzXG4xXHQuM1x0LjNcdDEwLjBcbjJcdC4yXHQuMmUtM1x0MC4xbjNcdC40XHQuMlx0OS45IiB9OwoJc3RyaW5nIGxhYmVsOwoKCWdldGxpbmUoZmlsZVAsIGxhYmVsLCAnXG4nKTsgICAKCiAgICBpc3RyaW5nc3RyZWFtIGdjY05lZWRzVGhpc09uQVNlcGVyYXRlTGluZXsgbGFiZWwgfTsKCWNvbnN0IHZlY3RvcjxzdHJpbmc+IExhYmVsc3sgaXN0cmVhbV9pdGVyYXRvcjxzdHJpbmc+eyBnY2NOZWVkc1RoaXNPbkFTZXBlcmF0ZUxpbmUgfSwgaXN0cmVhbV9pdGVyYXRvcjxzdHJpbmc+e30gfTsKCXZlY3Rvcjx2ZWN0b3I8ZG91YmxlPj4gUGFyYW1ldGVyczsKCQoJd2hpbGUoZmlsZVAuaWdub3JlKHN0ZDo6bnVtZXJpY19saW1pdHM8c3RkOjpzdHJlYW1zaXplPjo6bWF4KCksICdcdCcpKSB7CgkgICAgdmVjdG9yPGRvdWJsZT4gaW5wdXQoTGFiZWxzLnNpemUoKSAtIDEpOwoJCgkgICAgZm9yKGludCBpID0gMDsgaSA8IGlucHV0LnNpemUoKSAmJiBmaWxlUCA+PiBpbnB1dFtpXTsgKytpKTsKCSAgICBQYXJhbWV0ZXJzLnB1c2hfYmFjayhpbnB1dCk7Cgl9CgkKCWNvcHkobmV4dChjYmVnaW4oTGFiZWxzKSksIGNlbmQoTGFiZWxzKSwgb3N0cmVhbV9pdGVyYXRvcjxzdHJpbmc+KGNvdXQsICJcdCIpKTsKCQoJY291dCA8PCBlbmRsOwoJCglmb3IoY29uc3QgYXV0byYgaW5wdXQgOiBQYXJhbWV0ZXJzKSB7CgkJZm9yKGNvbnN0IGF1dG8mIGkgOiBpbnB1dCkgewoJCQljb3V0IDw8IGkgPDwgJ1x0JzsKCQl9CgkJY291dCA8PCBlbmRsOwoJfQp9