Это домашнее задание, и я действительно не знаю, как это сделать. Обычно я создавал v3 = v1, затем увеличивал бы через v2 через i и проверял, находятся ли элементы v2 в v3. Если нет, я бы добавил их в v3. Но я не могу создать v3 вне метода, и если я попытаюсь создать его внутри метода, он просто перезапустится. Кто-нибудь может мне помочь?Рекурсивный союз C++, пересечение и различие
Вот код, у меня есть для них и их функции обертки до сих пор (это просто скелет):
// returns a new vector; every element in v1 and every element in v2 are also in this new vector
// if an element appears in both v1 and v2, it is only added once to the new vector
template <typename T> vector<T> vec_union(vector<T> &v1, vector<T> &v2)
{
return v1;
}
template <typename T> vector<T> vec_union(vector<T> &v1, vector<T> &v2, unsigned i)
{
return v1;
}
// returns a new vector; every element that is in both v1 and v2 are also in this new vector
// there are no duplicates in v1 and v2
template <typename T> vector<T> intersection(vector<T> v1, vector<T> v2)
{
return v1;
}
template <typename T> vector<T> intersection(vector<T> v1, vector<T> v2, unsigned i)
{
return v1;
}
// returns a new vector; every element that is in v1 but not v2 are also in this new vector
// there are no duplicates in v1 and v2
template <typename T> vector<T> difference(vector<T> v1, vector<T> v2)
{
return v1;
}
template <typename T> vector<T> difference(vector<T> v1, vector<T> v2, unsigned i)
{
return v1;
}
Итак, что вопрос? – jrd1
@Jaysen Stoudt, вы не разместили свой код целиком. Все, что у нас есть, это обертки. Пожалуйста, отредактируйте свой вопрос, чтобы мы могли ответить. –
@ jrd1 Мой вопрос в том, как я могу реализовать его, так как я не могу создать v3 вне метода, и я не знаю, как его создать внутри метода? –