#include <iostream> // std::cout
#include <fstream> // std::ifstream
#include <vector>
#include <string>
#include <cstdlib>
#include <sstream>
#include <cctype>
#include <iomanip>
using namespace std; ////////////////////////////////////////////////////////////////////////////////////
bool is_number( const std:: string & s) { /// DO NOT FORGET WHAT"S BELOW THIS~!^#$*&$%*^%%^&$%^$#^$^%$^*^&(%^&^%^*^*^&(&*(&%&%
return ! s.empty ( ) && s.find_first_not_of ( "0123456789" ) == string:: npos ; /// I'm supposed to check this line , SO DO NOT FORGET!!!!!!!!@#!@#!@#!!@#!@#!@#!@#!!!
} /// /// /// //////////////////////////////////////////////////////////////////////
/// normal = no more than 6 digits
/// scientific = no more than 7 digits
struct data{
data operator>> ( string s) {
cout << endl<< s;
}
operator bool ( ) {
cout << endl<< "NICE TO MEET YOU" ;
return true ;
}
} ;
int main( ) {
string a = " hey 1234 man of 5678" ;
stringstream strstr ( a) ;
string test;
vector< int > numvec;
int num;
while ( strstr >> num || ! strstr .eof ( ) ) {
if ( strstr .fail ( ) ) {
strstr .clear ( ) ;
string kpz;
strstr >> kpz;
continue ;
}
numvec.push_back ( num) ;
}
for ( int i = 0 ; i < numvec.size ( ) ; ++ i) {
cout << numvec[ i] << '\t ' ;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAgICAgLy8gc3RkOjpjb3V0CiNpbmNsdWRlIDxmc3RyZWFtPiAgICAgIC8vIHN0ZDo6aWZzdHJlYW0KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgpib29sIGlzX251bWJlcihjb25zdCBzdGQ6OnN0cmluZyYgcyl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIERPIE5PVCBGT1JHRVQgV0hBVCJTIEJFTE9XIFRISVN+IV4jJComJCUqXiUlXiYkJV4kI14kXiUkXipeJiglXiZeJV4qXipeJigmKigmJSYlCiAgICByZXR1cm4gIXMuZW1wdHkoKSAmJiBzLmZpbmRfZmlyc3Rfbm90X29mKCIwMTIzNDU2Nzg5IikgPT0gc3RyaW5nOjpucG9zOyAvLy8gSSdtIHN1cHBvc2VkIHRvIGNoZWNrIHRoaXMgbGluZSAsIFNPIERPIE5PVCBGT1JHRVQhISEhISEhIUAjIUAjIUAjISFAIyFAIyFAIyFAIyEhIQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIC8vLyAvLy8gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8gbm9ybWFsID0gbm8gbW9yZSB0aGFuIDYgZGlnaXRzCi8vLyBzY2llbnRpZmljID0gbm8gbW9yZSB0aGFuIDcgZGlnaXRzCgpzdHJ1Y3QgZGF0YXsKCmRhdGEgb3BlcmF0b3I+PihzdHJpbmcgcyl7CmNvdXQ8PGVuZGw8PHM7Cn0KCm9wZXJhdG9yIGJvb2woKXsKY291dDw8ZW5kbDw8Ik5JQ0UgVE8gTUVFVCBZT1UiOwpyZXR1cm4gdHJ1ZTsKfQp9OwoKCgppbnQgbWFpbigpewpzdHJpbmcgYSA9ICIgaGV5IDEyMzQgbWFuIG9mIDU2NzgiOwpzdHJpbmdzdHJlYW0gc3Ryc3RyKGEpOwpzdHJpbmcgdGVzdDsKdmVjdG9yPGludD5udW12ZWM7CmludCBudW07CndoaWxlKHN0cnN0cj4+bnVtIHx8ICFzdHJzdHIuZW9mKCkpewogICAgaWYoc3Ryc3RyLmZhaWwoKSl7CiAgICAgICAgc3Ryc3RyLmNsZWFyKCk7CiAgICAgICAgc3RyaW5nIGtwejsKICAgICAgICBzdHJzdHI+PmtwejsKICAgICAgICBjb250aW51ZTsKICAgIH0KICAgIG51bXZlYy5wdXNoX2JhY2sobnVtKTsKfQpmb3IoaW50IGkgPSAwO2kgPCBudW12ZWMuc2l6ZSgpOysraSl7CiAgICBjb3V0PDxudW12ZWNbaV08PCdcdCc7Cn0KcmV0dXJuIDA7Cn0=