#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
pair<char[300],int> list[10000];
int main()
{
char a[300],b[20000];
int n;
cin >> n;
for(int d=1; d<=n; d++)
{
list[d].second = 0;
}
int k=0;
for(int d=1; d<=n; d++)
{
cin >> a;
bool masuk=false;
for(int e=1; e<=k;e++)
{
if (strcmp (a,list[e].first) == 0)
{
masuk = true;
list[e].second++;
break;
}
}
if (!(masuk))
{
k++;
strcpy(list[k].first,a);
list[k].second++;
}
cin.getline(b,256);
}
sort(list+1,list+k+1);
for(int e =1; e<=k; e++)
{
cout << list[e].first << " " << list[e].second << endl;
}
}
入力したら
3
Spain Donna Elvira
England Jane Doe
Spain Donna Anna
出力させたい
England 1
Spain 2
しかし、それは出力しました
Spain 2
England 1
最初のソートを想定していませんか?しかし、うまくいかないようです。Dev C++ でこれを試したところ、正しい出力が得られましたが、ideone でこれを試したところ、間違った出力が得られました
私の悪い英語で申し訳ありませんが、私を助けてください。