#include <iostream>
#include <algorithm>
#include <string>
static const int max_strings = 6;
int main()
{
//6 entries
std::string strings[max_strings] = { "apple", "apple", "strawberries", "bananas", "dairy", "main" };
// sort the strings in ascending order
std::sort(strings, &strings[max_strings]);
// display the strings and their repeat counts
int i = 0;
while (i < max_strings)
{
std::string str = strings[i];
int count = 1;
while (++i < max_strings)
{
if (strings[i] != str)
break;
++count;
}
std::cout << "'" << str << "' appears " << count << " time";
if (count != 1)
std::cout << "s";
std::cout << std::endl;
}
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxhbGdvcml0aG0+CiAgICAjaW5jbHVkZSA8c3RyaW5nPgoKICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4X3N0cmluZ3MgPSA2OwogICAgCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgLy82IGVudHJpZXMKICAgICAgICBzdGQ6OnN0cmluZyBzdHJpbmdzW21heF9zdHJpbmdzXSA9IHsgImFwcGxlIiwgImFwcGxlIiwgInN0cmF3YmVycmllcyIsICJiYW5hbmFzIiwgImRhaXJ5IiwgIm1haW4iIH07CiAgICAKICAgICAgICAvLyBzb3J0IHRoZSBzdHJpbmdzIGluIGFzY2VuZGluZyBvcmRlcgogICAgICAgIHN0ZDo6c29ydChzdHJpbmdzLCAmc3RyaW5nc1ttYXhfc3RyaW5nc10pOwogICAgCiAgICAgICAgLy8gZGlzcGxheSB0aGUgc3RyaW5ncyBhbmQgdGhlaXIgcmVwZWF0IGNvdW50cwogICAgICAgIGludCBpID0gMDsKICAgICAgICB3aGlsZSAoaSA8IG1heF9zdHJpbmdzKQogICAgICAgIHsKICAgICAgICAgICAgc3RkOjpzdHJpbmcgc3RyID0gc3RyaW5nc1tpXTsKICAgICAgICAgICAgaW50IGNvdW50ID0gMTsKICAgIAogICAgICAgICAgICB3aGlsZSAoKytpIDwgbWF4X3N0cmluZ3MpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChzdHJpbmdzW2ldICE9IHN0cikKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICsrY291bnQ7CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIiciIDw8IHN0ciA8PCAiJyBhcHBlYXJzICIgPDwgY291bnQgPDwgIiB0aW1lIjsKICAgICAgICAgICAgaWYgKGNvdW50ICE9IDEpCiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgInMiOwogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgIAogICAgICAgIHJldHVybiAwOwogICAgfQ==