#include #include #include #include #include #include #include #include using namespace std; const string WHITESPACE = " \n\r\t\f\v"; string ltrim(const string& s) { size_t start = s.find_first_not_of(WHITESPACE); return (start == string::npos) ? "" : s.substr(start); } string rtrim(const string& s) { size_t end = s.find_last_not_of(WHITESPACE); return (end == string::npos) ? "" : s.substr(0, end + 1); } string trim(const string& s) { return rtrim(ltrim(s)); } void split_comma(string &s, vector &l); void sort_names(vector &l, vector &order, int &num); int max_len(vector &l); int main(int argc,char *argv[]) { string name_line, value_line; getline(cin, name_line); // cout< orders; vector names, values; vector raw_values; split_comma(name_line, names); num = names.size(); sort_names(names, orders, num); name_length_max = max_len(names); for(int i=0;i &l) { l.clear(); stringstream s_stream(s); while(s_stream.good()) { string w; getline(s_stream, w, ','); //get first string delimited by comma w=trim(w); if(!w.empty()) l.push_back(w); } } void sort_names(vector &l, vector &order, int &num) { vector< pair > l_id; for(int i=0;i &l) { int res = 0; for(int i=0;i res) res = l[i].size(); return res; } /* cout << "\r%1"<