このアプローチの何が問題なのですか
#include<algorithm>
#include<iomanip>
#include<ios>
#include<iostream>
#include<string>
#include<vector>
using std::cin;using std::cout;
using std::endl;
using std::setprecision;
using std::string;
using std::streamsize;
using std::sort;
using std::vector;
int main(){
string zz;
typedef vector<string> vs;
vs input,distinct;vector<int> count;
cout<<"Enter the words";
while(cin>>zz){
input.push_back(zz);
}
if(input.size()==0){
cout<<"Enter atleast a single word";
return 1;
}
int i=0,j=0;
sort(input.begin(),input.end());
while(i!=input.size()){
int count2=0;
for(j=i;j<input.size();j++)
{
if(input[j]==input[j+1])
{
count2++;
}else{
break;
}
}
distinct.push_back(input[i]);
count.push_back(count2);
i+=count2;continue;
i++;
}
for(i=0;i<distinct.size();i++)
{
cout<<distinct[i]<<"\t time"<<count[i]<<"\n";
}
return 0;
}
私はubuntu 12.10を使用していますgcc4.7
このタスクは、与えられた入力の個別の数を数えて表示します。プログラムは入力を要求し、ファイルの終わりの後でも入力の取得を停止しません。つまり、ctrl + d