查找最长和最短单词

来源:互联网 发布:淘宝妈妈装模特 编辑:程序博客网 时间:2024/06/05 18:37
//============================================================================// Name        : stringExam04.cpp// Author      : // Version     :// Copyright   : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>#include <string>#include <vector>using namespace std;int main(){string line1="We were her pride of 10 she named us:";string line2="Benjamin, Phoenix, the Prodigal";string line3="and perspicacious pacific Suzanne";string sentence=line1 + ' ' + line2 + ' ' + line3;string::size_type pos3=0;int total=0;vector<int> ivec;    for(int i=0;i<sentence.size();i++)    {    if(sentence[i]!=' ' && (sentence[i+1]==' ' || sentence[i+1]=='\0'))    {    ivec.push_back(i);    total+=1;    }    }    vector<string> svec;    int max=*ivec.begin()+1;    int min=max;    svec.push_back(sentence.substr(0,max));   for(vector<int>::iterator j(ivec.begin()+1);j!=ivec.end();j++)   {      svec.push_back(sentence.substr(*(j-1)+2,*j-*(j-1)-1));      if(max<(*j-*(j-1)-1))      {      max=*j-*(j-1)-1;      }      if(min>(*j-*(j-1)-1))      {      min=*j-*(j-1)-1;      }   }   cout << "the total of the words is :" << total << endl;   printf("the max length of the words are:\n");for(vector<string>::iterator s(svec.begin());s!=svec.end();s++){if((*s).size()==max){cout << *s << endl;}}printf("the min length of the words are:\n");for(vector<string>::iterator s(svec.begin());s!=svec.end();s++){if((*s).size()==min){cout << *s << endl;}}  //cout << max << " " << min << endl;return 0;}