赞
踩
/************************************************************************* > File Name: ex10.16.cpp > Author: > Mail: > Created Time: Fri 01 Mar 2024 02:49:29 PM CST ************************************************************************/ #include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; string make_plural(size_t ctr, string &word, const string &ending = "s"){ int size = word.size(); if(ctr <= 1){ return word; } else{ if(word[size-1] == 's' || word[size-1] == 'x' || (word[size-1] == 'h' && word[size-2] == 's') || (word[size-1] == 'h' && wo return word + "e" + ending; } else if(word[size-1] == 'y' && (word[size-2] != 'a' && word[size-2] != 'e' & word[size-2] != 'i' && word[size-2] != 'o' & word[size-1] = 'i'; return word + "e" + ending; } else if((word[size-3] != 'a' && word[size-3] != 'e' && word[size-3] != 'i' & word[size-3] != 'o' && word[size-3] != 'u') && (word[size-2] != 'a' word[size-2] != 'e' && word[size-2] != 'i' && word[size-2] != 'o' & if(word[size-1] == 'f'){ word[size-1] = 'v'; return word + ending; } else if(word[size-2] == 'f' && word[size-1] == 'e'){ word[size-2] = 'v'; return word + "e" + ending; } } else{ return word + ending; } } return word; } void elimDups(vector<string> &words){ sort(words.begin(), words.end()); auto end = unique(words.begin(), words.end()); words.erase(end, words.end()); } void biggies(vector<string> &words, vector<string>::size_type len){ elimDups(words); stable_sort(words.begin(), words.end(), [](const string &a, const string &b){ re auto pos = find_if(words.begin(), words.end(), [len](const string &a){ return a. auto count = words.end() - pos; string str("word"); cout<<count<<" "<<make_plural(count, str, "s")<<" of length "<<len<<" or longer" for_each(pos, words.end(), [](const string &s){ cout<<s<<" "; }); cout<<endl; } int main(){ vector<string> words; string str; cout<<"Enter strings: "; while(cin>>str){ words.push_back(str); if(cin.get() == '\n'){ break; } } biggies(words, 5); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。