文字列の中で最も長い単語を求めます


文字列の中で最も長い単語の説明を求めます:1つの与えられた文字列の中から、最も長い単語を探して、文字列はスペースで異なる単語の運行時間の制限を分けます:無制限のメモリの制限:無制限の入力:任意の文字列、任意の文字列を入力することを許可して、複数の単語の間はすでにスペースで区切られて、総長128出力を超えない:文字列の中で最も長い単語サンプル入力:Hi worldサンプル出力:world答えヒント:hello worldのような同じ長さの結果が複数存在する可能性があります.結果はhello worldです.複数の同じ結果間を(1つの)スペースで区切る
struct node
{
    string x;
    int y;
};

void main()
{
    string a;
    getline(cin, a);
    int loc = a.find_first_of(" ");
    int max = 0;
    node word[128];
    int cnt = 0;
    while (loc != -1)
    {
        word[cnt].x = a.substr(0, loc);
        word[cnt].y = word[cnt].x.length();
        max = max > word[cnt].y ? max : word[cnt].y;
        cnt++;
        a = a.substr(loc + 1);
        loc = a.find_first_of(" ");
    }
    word[cnt].x = a.substr(0, loc);
    word[cnt].y = word[cnt].x.length();
    max = max > word[cnt].y ? max : word[cnt].y;
    cnt++;
    for (int i = 0; i < cnt; i++)
    {
        if (word[i].y == max)
        {
            cout << word[i].x << " ";
        }
    }
}