// A3.cpp - convert vector of strings to vector of doubles #pragma warning(disable : 4786) #include #include #include #include using namespace std; ////// start of required answer ///////////////////// vector convert(const vector &vs) { double d; vector returnVec; vector::const_iterator it; for(it = vs.begin(); it != vs.end(); it++) { istringstream temp(*it); temp >> d; if(temp.eof() || temp.good()) returnVec.push_back(d); } return returnVec; } ////// end of required answer /////////////////////// void useConvert(const string array[], int size) { vector in(array,array+size); vector::iterator inIt; cout << "\nInput Strings:"; for(inIt = in.begin(); inIt != in.end(); inIt++) cout << "\n " << *inIt; vector out = convert(in); vector::iterator outIt; cout << "\nOutput doubles:"; for(outIt = out.begin(); outIt != out.end(); outIt++) cout << "\n " << *outIt; cout << "\n\n"; } void main() { const string array[] = { "3.1415927", "-765", "17.5yyy", "[]{}()", "-3.33E-33" }; int size = sizeof(array)/sizeof(string); useConvert(array, size); const string array2[] = { "xyz", "ABC", "()_+" }; size = sizeof(array2)/sizeof(string); useConvert(array2, size); }