#include <iostream>
#include <string>
using namespace std;
void doIt(string datainput)
{
cout << "Input: " << datainput << endl;
string str3;
int myray[10];
int raycount = 0;
string::size_type start = datainput.find_first_of("0123456789");
string::size_type end;
while (start != string::npos)
{
end = datainput.find_first_not_of("0123456789", start+1);
if (end == string::npos)
{
str3 = datainput.substr(start);
myray[raycount] = stoi(str3);
raycount++;
break;
}
str3 = datainput.substr(start, end-start);
myray[raycount] = stoi(str3);
raycount++;
if (raycount == 10) break;
start = datainput.find_first_of("0123456789", end+1);
}
for (int n = 0; n < raycount; ++n)
cout << "myray[" << n << "] = " << myray[n] << endl;
}
int main()
{
doIt("12, 13, 15");
cout << endl;
doIt("12 13 15");
cout << endl;
doIt("12ab13cd15ef");
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBkb0l0KHN0cmluZyBkYXRhaW5wdXQpCnsKICAgIGNvdXQgPDwgIklucHV0OiAiIDw8IGRhdGFpbnB1dCA8PCBlbmRsOwogICAgCglzdHJpbmcgc3RyMzsKCiAgICBpbnQgbXlyYXlbMTBdOwogICAgaW50IHJheWNvdW50ID0gMDsKCiAgICBzdHJpbmc6OnNpemVfdHlwZSBzdGFydCA9IGRhdGFpbnB1dC5maW5kX2ZpcnN0X29mKCIwMTIzNDU2Nzg5Iik7CiAgICBzdHJpbmc6OnNpemVfdHlwZSBlbmQ7CgogICAgd2hpbGUgKHN0YXJ0ICE9IHN0cmluZzo6bnBvcykKICAgIHsKICAgICAgICBlbmQgPSBkYXRhaW5wdXQuZmluZF9maXJzdF9ub3Rfb2YoIjAxMjM0NTY3ODkiLCBzdGFydCsxKTsKICAgICAgICBpZiAoZW5kID09IHN0cmluZzo6bnBvcykKICAgICAgICB7CgkJCXN0cjMgPSBkYXRhaW5wdXQuc3Vic3RyKHN0YXJ0KTsKCQkJbXlyYXlbcmF5Y291bnRdID0gc3RvaShzdHIzKTsKICAgICAgICAgICAgcmF5Y291bnQrKzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKCQlzdHIzID0gZGF0YWlucHV0LnN1YnN0cihzdGFydCwgZW5kLXN0YXJ0KTsKCQlteXJheVtyYXljb3VudF0gPSBzdG9pKHN0cjMpOwogICAgICAgIHJheWNvdW50Kys7CiAgICAgICAgaWYgKHJheWNvdW50ID09IDEwKSBicmVhazsKCiAgICAgICAgc3RhcnQgPSBkYXRhaW5wdXQuZmluZF9maXJzdF9vZigiMDEyMzQ1Njc4OSIsIGVuZCsxKTsKICAgIH0KCiAgICBmb3IgKGludCBuID0gMDsgbiA8IHJheWNvdW50OyArK24pCiAgICAgICAgY291dCA8PCAibXlyYXlbIiA8PCBuIDw8ICJdID0gIiA8PCBteXJheVtuXSA8PCBlbmRsOwp9CgppbnQgbWFpbigpCnsKCWRvSXQoIjEyLCAxMywgMTUiKTsKCWNvdXQgPDwgZW5kbDsKCglkb0l0KCIxMiAxMyAxNSIpOwoJY291dCA8PCBlbmRsOwoKCWRvSXQoIjEyYWIxM2NkMTVlZiIpOwoJY291dCA8PCBlbmRsOwoKCXJldHVybiAwOwp9