Найти определенный элемент в векторе - PullRequest
1 голос
/ 04 ноября 2011

У меня есть команда класса, которая содержит информацию для футбольных команд. Мне нужно прочитать файл и добавить каждую уникальную команду в сезон векторов.

// Цикл для определения уникальных команд

    if(season.size() <= 1)
        {
            season.push_back(new_team);
            cout << "First team added!" << endl;
        }

    vector<team>::iterator point;
    point = find(season.begin(), season.end(), new_team);
    bool unique_team = (point != season.end());
    if(unique_team == true && season.size()>1)
        {
            season.push_back(new_team);
            cout << "New team added!" << endl;
        }

    cout << "# of Teams: " << season.size() << endl;
    system("pause");

Есть идеи, почему это не работает? Я все еще новичок в этом :-) Так что не стесняйтесь давать конструктивную критику.

1 Ответ

1 голос
/ 04 ноября 2011

Я думаю, что ваша логика может быть немного не в порядке.Первая команда должна быть добавлена, когда размер вектора команд равен 0. Скажем, ваша команда - это вектор целых чисел, функция insertTeam будет выглядеть примерно так:

void Season::insertTeam(int team)
{
    if (teams.size() == 0)
    {
        teams.push_back(team);
        cout << "First team " << team << " added!" << endl;
    }
    else
    {
        vector<int>::iterator point;
        point = find(teams.begin(), teams.end(), team);
        bool unique_team = (point == teams.end());
        if(unique_team == true && teams.size()>0)
        {
            teams.push_back(team);
            cout << "New team " << team << " added!" << endl;
        }
    }
}
...